스프라이트를 제어하는 스크립트를 작성하고 테스트를 해보겠습니다.
아래 스크립트를 테스트 해보고 결과를 직접 확인하고 다양한 방법으로 수정하며 테스트를 해보는 것이 좋습니다.
키보드 방향키로 스프라이트 이동시키기
방향키를 눌렀을 때 동작시키기 위하여 이벤트 블록의 ‘ㅇㅇㅇ키를 눌렀을 때’ 블록을 사용합니다.
4개의 이벤트 블록이 필요하며 이유는 방향키 상, 하, 좌, 우에 대한 이벤트를 발생시키고 이에 따라 스프라이트를 이동시키기 위함입니다.
그리고 방향키별 이벤트 블록에 스프라이트를 이동시키기 위한 동작 블록을 사용하면 됩니다.
아래와 같이 x좌표 혹은 y좌표 바꾸기 블록을 이용하면 됩니다.
ㅇ 위쪽 화살표 키를 눌렀을 때 : y좌표를 10만큼 바꾸기
ㅇ 아래쪽 화살표 키를 눌렀을 때 : y좌표를 -10만큼 바꾸기
ㅇ 왼쪽 화살표 키를 눌렀을 때 : x좌표를 -10만큼 바꾸기
ㅇ 오른쪽 화살표 키를 눌렀을 때 : x좌표를 10만큼 바꾸기
추가적으로 무대창의 좌표는 (x, y)축으로 구성되어 있는 평면이라고 생각하면 됩니다.
아래 좌표를 참고하면 이해하기 수월할 것 같습니다.
마우스를 따라가는 스프라이트
방향키를 누르지 않고 항상 마우스가 움직이는 곳을 따라가게 해보겠습니다.
이번에는 방향키 이벤트 블록이 아닌 깃발 이벤트 블록을 사용하여 깃발을 클릭(시작)하면 항상 마우스를 따라 가도록 하겠습니다.
우선 스크립트는 아래와 같습니다.
깃발을 클릭했을 때 이어지는 스크립트 블록이 수행이 됩니다.
깃발을 클릭한 이후 반복적으로 마우스 포인터의 위치로 이동시키기 위해서는 제어 블록 중 ‘무한 반복하기’ 블록으로 감싸줍니다.
‘무한 반복하기’ 블록이 없으면 깃발을 클릭했을 때 마우스 포인터 위치로 1번만 이동하고 끝나게 됩니다.
계속해서 마우스 포인터의 위치로 이동시키기 위하여 ‘무한 반복하기’ 블록을 사용해야 합니다.
또 제어 블록을 사용하지 않는 방법으로 해당 스크립트는 아래와 같습니다.
위 스크립트는 스페이스 키를 누른 상태에서 마우스 포인터를 움직이면 동일한 결과를 확인할 수 있습니다.
다만 스페이스 키를 항상 누르고 있어야 동작하기 때문에 비교적 제어 블록 ‘무한 반복하기’ 블록을 사용하는 것이 좀 더 효과적일 것 같습니다.
스스로 움직이는 스프라이트
이번에는 스프라이트가 스스로 움직이도록 구현해 보겠습니다.
우선 스크립트는 아래와 같습니다.
깃발을 클릭했을 때 스크립트가 수행이 되고
시작이 되면 -45 ~ 45도의 각도 중 랜덤의 각도 방향을 바라보게 설정하였습니다.
이렇게 방향이 결정이 되고난 후, 무한으로 10만큼 스프라이트를 움직이게 하고 만약 벽에 닿으면 튕겨내는 효과를 추가 하였습니다.
이 스크립트를 실행해 보면 스프라이트가 무대창에서 혼자서 움직이는 것을 확인할 수 있을 것이고 벽에 닿으면 튕겨서 다른 방향으로 이동을 합니다.
2 thoughts on “스크래치 샘플 스크립트 – 스프라이트 제어 1”