본문 바로가기
엔트리/엔트리 액션 RPG만들기

엔트리 액션 RPG 만들기 9. 몬스터 이동, 장애물 판정

by 할거없네 2020. 5. 12.

 

 

안녕하세요. 이번에는 몬스터의 이동과 장애물 판정을 추가합니다.

 

 

 

 

 

몬스터가 지형을 인식하고 움직이도록 하는 것이 이번의 목표입니다.

먼저 몬스터 오브젝트에서 코딩에서 추가로 수정합니다.

 

코딩이 좀 기네요.. ㅠㅠ

엔트리에 '함수'기능에서 지역변수가 제대로 보인다면 이쁘게 만들 수 있는데 엔트리는 그러하지 못해서... 좀 지저분하게 나열할 수 밖에 없네요.

 

아래가 좀 잘렸는데 밑에서 다시 설명하겠습니다.

이 부분의 코딩은 크게 2가지로 나눌 수 있습니다.

 

 

일단 @몬스터이동 이라는 변수를 만드는데 이것은 몬스터가 이동할때 명령어로 쓰는 변수입니다.

캐릭터는 유저의 키보드 입력에 따라 움직인다면, 몬스터는 각각의 명령어 변수값에 따라 움직입니다.

나중에 인공지능을 추가하거나 할 때 이 변수값을 순서대로 어떻게 움직이게 하냐가 중요하게 됩니다.

이동을 명령하면 이동하기 전에 해당 벽이 막혀있는지 판단하는 것입니다. 그 위치값을 정해주는 것이 '@위치계산변수'값입니다. 상하는 각각 17, -17이 되고, 좌우는 -1과 1이 됩니다. 

 

그 아래에서는 변수값이 0이 아닐 경우 해당 블록에 들어갈수 있냐없냐를 판단하고, 만약에 이동이 가능하다면 좌표값을 10번에 걸쳐서 이동하도록 만들었습니다.

 

 

현재는 1차원의 리스트를 사용하기 때문에 좀 복잡한 모양인데... 이걸 뒤엎고 다시 2차원 배열을 사용해서 만든다면 정말 간단하고 쉬운 장애물 판정을 만들 수 있겠습니다.

 

댓글