IT인터넷/스크래치코딩강좌

스크래치코딩강좌 - 임의의 숫자 활용법

니르밧슈 2022. 3. 1. 04:55
스프라이트 코딩학습


지난 포스트에서는 스크래치코딩 키보드 방향 화살표를 이용해 스프라이트를 이동하는 담았는데요. 이번 포스트는 고양이 스프라이트를 좀 더 동적으로 보여주는 방법과, 랜덤한 위치로 케익을 이동시키고, 위에서 아래로 떨어트려서, 고양이가 케익을 받는 코딩을 만들어보겠습니다.

 

스프라이트의 다양한 동작


스프라이트 동작


영상을 보면 한 가지 동작만 가진 스프라이트가 있는 반면, 다양한 동작을 가지고 있는 스프라이트도 있습니다. 고양이 스프라이트도 마찬가지로 두 가지 동작을 가지고 있는데요. 이 두번째 동작을 활용하면 고양이가 이동하는 모습에 조금 더 리얼한 효과를 줄 수 있습니다.

지난 포스트에서 만든 프로젝트를 열어서 활용을 한건데요. 지난 포스트를 못 보신 분들은 아래 링크를 참고하신 후 잘 따라오시기 바랍니다.

☞ 스크래치코딩강좌 - 스프라이트 기본동작

☞ 스크래치코딩강좌 - 컨트롤

고양이의 두 번째 동작은 형태 메뉴에 있는 다음 모양으로바꾸기 블록을 이용해야 하는데요. 더 많은 블록들이 들어가야 하기 때문에 블록을 조금 정리하겠습니다. 다음 그림을 확인한 후 블록을 정리해보세요.

키보드 이동 블록은 무한반복하기 블록에 들어갈 수 없는데요. 때문에 무한반복 블록을 제어 메뉴에 있는 만약( )이라면 블록과, 감지 메뉴에 있는 (스페이스)키를 눌렀을때 블록을 이용합니다. 이 블록을 이용하면 왼쪽, 오른쪽 이동 기능을 만들 수 있습니다. 또한 위,아래 이동 블록은 이제 필요 없기 때문에 지워버립니다.

고양이 이동 코딩블록


이번에는 고양이가 정말 달리기를 하는것처럼 보이도록 스프라이트의 두 번째 동작을 활용해보겠습니다.

다음모양으로 바꾸기


[블록설명]
- 오른쪽 키보드를 눌렀는지 감지한 후 눌렀다면 다음모양으로 바꾸고 0.1초 기다리기를 실행합니다.
- 왼쪽 키보드 역시 다음모양으로 바꾸고 0.1초 기다리기를 실행합니다.
- 이 동작을 무한반복하기 블록으로 묶어주고, 초록깃발 실행 시 작동하게 합니다.

Tip : 무한반복하기 블록을 왜 사용하는 이유는, 한 번만 작동하게 되는경우 고양이 동작이 한 번만 바뀌게 되므로, 움직이는 효과를 볼 수 없습니다. 따라서 무한반복하기 기능을 이용하여 마치 달리기를 하는듯한 동작을 연출할 수 있습니다.

달리기 하는 고양이

케익 스프라이트 떨어트리기


지난 포스트에서는 케익이 특정한 위치에 있고, 고양이가 케익을 건드리면 "게임승리"라고 말했는데요. 이번에는 케익 스프라이트가 랜덤한 위치에서 아래로 떨어지고, 고양이가 케익을 건드리도록 하겠습니다.

케이크 코딩 블록


위 그림은 케익 스프라이트 코딩블록 입니다.

[블록설명]
- 케이크의 높이를 적당한 y좌표로 정하고 그 위치로 이동시킵니다.
- 케이크의 좌우 위치는 -200 부터 200 까지의 난수 블록을 이용해 지정된 위치가 아닌 다양한 위치로 이동시킵니다.
- ( ) 부터 ( ) 사이의 난수 블록은 연산 메뉴에 있습니다. 특정한 숫자가 아닌 매번 다양한 숫자를 생성하기 위한 블록입니다.
- y좌표를 -5 만큼 바꿉니다. 이를 무한반복 블록에 넣으면 케익은 위에서 아래로 떨어지는 효과를 가지게 됩니다.

케이크 스프라이트


다음 포스트에서는 이 두개의 스프라이트를 이용해 간단한 게임을 만들어 보려고 하는데요. 어떠한 게임을 만들지 혹시 예상이 되시나요?

네.. 뻔한 게임입니다.. 케익은 게임이 끝날 때까지 위에서 아래로 내려갈 예정이고, 고양이는 배가 터질 때까지 케익을..

케익 스프라이트의 코딩블록은 위에서 보는 그림이 전부이니 위 그림을 참고하시면 되는데요. 고양이 스프라이트 코딩블록을 아래 그림을 참고하시면 되겠습니다.

고양이 코딩블록 전체


오늘 작성한 코딩블록 역시 프로젝트에 꼭꼭 저장해 놓으시면, 다음 강좌에서 활용할 수 있겠죠? 본인이 쉽게 확인할 수 있는 이름으로 프로젝트를 저장하시기 바랍니다!


스크래치코딩강좌 - 스프라이트 코딩 포스트의 내용이 도움이 되었다면 ♥, 공감, 댓글, 구독 부탁드립니다 :)