게임메이커 스튜디오 2 - 벽 만들기

TXMAY·2023년 2월 17일

GMS2

목록 보기
1/4
post-thumbnail

GMS2에서 플레이어가 통과할 수 없는 벽을 만들어 보겠다.

// 방법 1
if(keyboard_check(vk_left)&&place_free(x-mspeed,y))
{
	x-=mspeed;
}
if(keyboard_check(vk_right)&&place_free(x+mspeed,y))
{
	x+=mspeed;
}
if(keyboard_check(vk_up)&&place_free(x,y-mspeed))
{
	y-=mspeed;
}
if(keyboard_check(vk_down)&&place_free(x,y+mspeed))
{
	y+=mspeed;
}

// 방법 2
if(keyboard_check(vk_left)&&!place_meeting(x-mspeed,y,obj_wall))
{
	x-=mspeed;
}
if(keyboard_check(vk_right)&&!place_meeting(x+mspeed,y,obj_wall))
{
	x+=mspeed;
}
if(keyboard_check(vk_up)&&!place_meeting(x,y-mspeed,obj_wall))
{
	y-=mspeed;
}
if(keyboard_check(vk_down)&&!place_meeting(x,y+mspeed,obj_wall))
{
	y+=mspeed;
}

  • place_free(x, y) : (x, y)좌표에 solid 인스턴스가 있는지 확인하고, 없으면 true, 있으면 false를 반환함
  • place_meeting(x, y, obj) : (x, y)좌표에 obj에 해당하는 인스턴스가 있는지 확인하고, 있으면 true, 없으면 false를 반환함
profile
게임 개발 공부하는 고양이

0개의 댓글