본문 바로가기
스크래치/올펜 플렛포머 만들기

올펜 플랫포머 만들기4- 맵만들기 2

by 할거없네 2019. 2. 7.


















지난 강좌에 이어서 마우스로 맵을 만드는 기능을 추가할 것입니다.

먼저 마우스가 어디에 있는지 확인해야 하는데,

변수를 하나 만들어서 이 변수가 현재 타일 번호를 가져오도록 할것입니다.

x좌표에서 20으로 나눠서 소숫점을 버리고 12을 더하면 맨 왼쪽에서 1부터 증가하여 25까지 될 것입니다.

먼저 map_maker블록을 만들어서 변수값을 바꿀 것인데요, map_maker는 메인루프에 들어가도록 합니다.

수행해보면


잘 동작하는 걸 볼 수 있습니다.

이번엔 y줄이 감소함에 따라서 25씩 증가하도록 할 것입니다.

여기까지의 결과는


이제 화면 안에 있어야 하는 조 마우스의 좌표값을 보정해줘야겠네요.

좌표값이 화면안에 있어야 하는 조건과 마우스의 판정이 사각형 중앙으로 10씩 더하고 뺏습니다.



이제 타일 번호를 알아냈으니, 마우스를 누르면 해당 타일의 값을 변화하도록 하겠습니다.

마우스를 누르면 값이 1인 경우 0으로, 0인 경우 1로 바꿉니다.

이제 보니 버그가 있었네요. 타일이 오른쪽 한칸으로 이동되어 있습니다. ㅠ

맵 그리기 블록을 위와 같이 고칩니다.



이제야 잘 되네요.

이번에 해결해야 할 문제는 마우스가 너무 빨리 눌려저서 살짝 눌러도 맵 타일이 순식간에 바뀐다는 것입니다.

이 부분은 변수를 하나 더 사용해서 해결하도록 하겠습니다.

마우스가 클릭되면 맵 타일 번호가 되고 떨어지면 0이 되는 변수입니다.

이 변수가 맵 타일과 달라야 맵 타일이 바뀌도록 하면 됩니다.

최종적으로 맵을 만드는 블록은 위와 같습니다.




중간에 종종 버그가 보이지만 일단 넘어가도록 하겠습니다. ㅠㅠ

이제 맵을 만들수 있으니, 중력과 장애물 감지를 만들도록 하겠습니다.


댓글