안녕하세요.
제로데이입니다.
이번 시간에는 화면을 누르면 점프하게 만들고 움직이는 기둥을 배치해 보도록 하겠습니다.
스텝 코드 작성하기
스텝 코드를 작성하기 전에 전 시간에 생성 이벤트에서 작성한 gravity = 0.1을 gravity = 0.2로 바꿉시다.
화면을 누를 시 점프하게 하려면 조건문(if)을 사용해야 됩니다.
조건문(if)이란 조건이 참일 경우 중괄호 안에 코드들이 실행됩니다.
스텝 이벤트에 이렇게 작성해 줍니다.
if mouse_check_button_pressed(mb_left) {
gravity = 0
speed = 0
vspeed -= 8
gravity = 0.2
}
image_angle = -vspeed * 5
처음부터 코드들을 해석해 보겠습니다.
if mouse_check_button_pressed(mb_left) {
: 조건문을 사용하여 마우스 버튼을 눌렀을 때 조건이 참이 되어 중괄호 안 코드들이 실행됩니다.
gravity = 0
: 중력을 0으로 설정합니다.
speed = 0
: 스피드를 0으로 설정합니다. (스피드 값이 중력의 영향을 받아 스피드 값도 0으로 만들어 정지하게 합니다)
vspeed -= 8
: 수직 스피드를 8 빼서 오브젝트가 위로 이동하게 합니다. (vspeed는 vertical speed의 줄인 말입니다)
gravity = 0.2
: 중력을 0.2로 설정합니다. (중력을 다시 설정하여 작용하게 합니다.)
image_angle = -vspeed * 5
: 이미지 각도*를 -vspeed * 5로 설정합니다. (vspeed는 중력의 영향으로 크기가 계속 늘어나기 때문에 앞에 -를 붙이고 값이 작기 때문에 * 5를 해주어 더 크게 각도가 변하게 해줍니다)
실행해서 화면을 눌러보면 캐릭터가 정상적으로 날게 됩니다.
기둥 만들기
'spr_player' 스프라이트를 우 클릭하고 스프라이트 생성을 누르면 새로운 스프라이트를 생성할 수 있습니다.
스프라이트를 두 개 만들어주세요.
스프라이트를 생성하셨으면 생성한 스프라이트 중에서 아무거나 선택하여 전편에서 다운로드한 파일에서 통로가 위에 있는 초록색 기둥을 가져오고 이름을 'spr_column1'로 설정합니다. 그리고 중심을 가운데 아래로 설정해 주세요.
똑같이 나머지 스프라이트에 통로가 아래에 있는 초록색 기둥을 가져오고 이름을 'spr_column2'로 설정합니다. 그리고 중심은 가운데 위로 설정해 주세요.
이제 오브젝트를 만들어야 됩니다.
이미 만들어 놓은 'obj_player'를 우 클릭하여 오브젝트 생성을 눌러서 오브젝트를 두 개 생성하고 스프라이트 이름을 'obj_column1'로 변경합니다. 스프라이트도 'spr_column1'로 변경해 주세요.
나머지 오브젝트도 이름을 'obj_column2'로 변경하고 스프라이트를 'spr_column2'로 변경합니다.
밑에서 parent에 대해서 배워봅시다.
obj_column2에서 '상위 항목'을 누르고 상위 항목에 'obj_column1'을 눌러줍니다.
이 설정은 부모(Parent) 설정으로 부모만 코드를 작성하면 자식도 똑같이 상속받는 아주 편리한 기능입니다.
여기서는 obj_column1이 부모고 obj_column2가 자식입니다.
이제 obj_column1로 돌아갑시다.
obj_column1에서 이벤트 추가 - 스텝 - 스텝을 눌러줍니다.
x -= 5
그리고 스텝에 코드를 적어줍시다.
이 코드는 매 스텝마다 기둥의 x좌표를 5씩 빼주어서 움직인다는 느낌이 나게 만들어줍니다.
룸에 배치하기
룸을 더블클릭하고 'obj_column1' 과 'obj_column2'를 적당한 위치에 배치해 줍니다.
이제 한번 게임을 시작해 볼까요?
아직 충돌은 넣지 않았지만 그래도 그럴싸한 게임이 되었습니다!
마치며
이번 시간에는 점프와 기둥을 만들어보았습니다.
점점 게임에 윤곽이 잡히고 있는데요. 다음 시간에는 자동으로 벽을 생성하게 하고 벽 충돌을 만들어 보겠습니다.
그럼 오늘도 수고하셨습니다!
반복해서 외우는 주문 중 하나는 집중과 단순함이다. 단순함은 복잡함보다 어렵다.
-스티브 잡스-
'🎮 게임메이커 > 👶 초보자를 위한 게임메이커 강좌' 카테고리의 다른 글
하나도 모르는 초보자를 위한 게임메이커 강좌(4) (0) | 2022.08.08 |
---|---|
하나도 모르는 초보자를 위한 게임메이커 강좌(2) (0) | 2022.07.24 |
하나도 모르는 초보자를 위한 게임메이커 강좌(1) (0) | 2022.07.21 |
댓글