본문 바로가기
[ Block Coding ]/- 스크래치 공부

스크래치6장(벽에 닿으면 튕기기, 회전방식 정하기)

by MRG 2020. 4. 26.
728x90
반응형
728x90

▣ 안녕하세요.
저번장에 숙제는 해보셨나요?
매 장마다 강조합니다. ^^
꼭 영상을 보고 생각하고 그 생각을 알고리즘 순서도로 작성하고 그걸 보고 코딩을 해주세요. 
꼭입니다.


▣ 먼저 벽에 닿으면 튕기기라는 블록을 배워보겠습니다.

이 블록은 말 그대로 벽에 닿으면 튕겨집니다. 
그럼 가운데 블록을 놓고 마우스로 더블클릭하면 어떻게 되나요?
네 아무 반응이 없습니다. 
왜냐 벽에 닿여 있지 않기 때문입니다.
이게 무슨말이냐? 
한번 이렇게 코딩을 진행해보겠습니다.

 

▣ 자 이렇게 코딩을 하고 실행하면 어떻게 될까요?
먼저 실행하기 전에 한번 생각해보겠습니다. 
네 무한반복으로 10만큼 움직이기와 벽에 닿으면 튕기기가 순차적으로 작동할 겁니다.
그럼 한번 실행을 해보겠습니다. 

 

▣ 실행을 하면 어떻게 되나요?
진짜로 벽에 닿으면 튕기는것처럼 보입니다. 
하지만 자세히 살펴보면 벽에 닿이면 고양이 스프라이트 밑에 있는 메뉴에서 방향이 바뀌는 걸 보실 수 있습니다. 
결론적으로 벽에 닿으면 튕기는 게 아니라 방향이 바뀌는 걸 파악할 수 있습니다.
그럼 벽에 닿으면 튕기기 블록은 안에 어떤 코딩이 되어 있을까요?

 

아직 우리가 조건문을 안 배웠지만 저 코딩을 블록 그대로 해석하면 벽에 닿으면 안에 있는 90도 회전하기가 작동하게 됩니다. 
벽에 닿으면 튕기기는 저렇게 방향을 바꿔주는 블록일 겁니다.
이렇게만 이해해주시고 조건문은 따로 또 다루도록 하겠습니다.


그럼 오른쪽으로 보고 벽에 닿으면 고양이가 어떻게 되죠?
네 방향이 바뀌고 거꾸로 회전되는 걸 보실 수 있으실 겁니다.
그럼  거꾸로 회전하는 걸 해결할 수 있는 방법이 있을까요?
네 당연히 코딩으로 할 수 있습니다. 

 

▣ 이 블록은 고양이 스프라이트 회전 방식을 정해줍니다.

 

▣ 이렇게 여러 방 식이 있는데요. 하나하나 살펴보겠습니다.
먼저 왼쪽 오른쪽은 고양이가 좌우로만 회전 방향으로 볼 수 있게 정해줍니다. 

 

▣ 회전 방식을 왼쪽 오른쪽으로 정하기를 넣고 아까 만들었던 코딩을 넣어서 실행 보면 -90도로 회전해서 튕겨도
좌우로만 회전 방향이 정해지는 걸 볼 수 있습니다.
거꾸로 되지 않죠?
그럼 회전하지 않기는 무슨 기능일까요?
그건 어떤 방향도 회전하지 않고 90도만 보게 됩니다.
딱 한 방향으로만 보게 하려면 이걸 사용해야겠죠?


▣ 회전하기는 무엇일까요?
아까 우리가 보았던 것처럼 360도 회전을 한다고 생각하시며 될 거 같습니다. 

 

▣ 또한 코딩으로 뿐만 아니라 고양이 스프라이트 밑에 정보 메뉴에 있는 방향을 클릭해주면
이렇게 시계 모양 밑에 있는 도구들로 회전 방식을 바꿀 수 있습니다. 
왼쪽 첫 번째 모양은 모양 그대로 360도 회전하기 블록이랑 같고요.
왼쪽 두 번째는 왼쪽 오른쪽 회전 방식을 정해주는 블록이랑 같습니다.
그럼 마지막은 무엇일까요? 네 회전하지 않기입니다.  


▣ 그럼 미션 회전방식을 한 번씩 다 사용하면서 벽에 닿으면 튕기기를 넣어서 움직여보세요.

 

▣ 자 그럼 오늘도 알고리즘 순서도를 복습해볼까요?

 

▣ 제가 판단 도형 블록을 넣어서 이렇게 그려보았습니다.
판단은 아까 우리가 배웠던 벽에 닿으면 튕기기를 써보면 될꺼같은데요.
아직 조건문은 안 배웠지만 쉽게 생각해보겠습니다.
벽에 닿으면 참입니다.
벽에 닿지 않으면 거짓입니다.
그럼 참일 경우는 벽에 닿일경우이겠죠?
그럼 그 밑에 참을 경우 처리 도형 부분에 어떤 걸 적으면 될까요?
네 회전하기를 적으면 되겠죠?
그럼 거짓은 당연히 벽에 닿지 않을 경우 평상 시일 겁니다. 
그럼 이때는 무엇을 적어주면 될까요?
네 맞습니다. 그 밑에 움직이기라고 적은 처리 도형을 그려주면 되겠죠?
좀 감이 잡히셨죠??

 

 

 

 

▣ 오늘은 벽에 닿으면 튕기기 블록이랑 회전 방식을 정하는 블록을 활용해서 고양이와 코끼리가 달리기 하는 코딩을 만들어 보겠습니다. 
배경이랑 캐릭터는 여러분들이 원하시는 걸 하셔도 됩니다.
창작적인 부분도 코딩에서 너무 중요하기 때문입니다.


그리고 꼭 중요한 거 영상을 보고 무엇을 먼저 해야 하죠?
네 생각을 먼저 합니다. 어떤 패턴으로 어떻게 코딩이 진행되는지를 생각하고
그런 다음에 무엇을 해야 하죠?
네 알고리즘 순서도를 설계해야 합니다.
주의해야 할 건 알고리즘 순서도를 작성할 때 블록 이름을 적으면 안 됩니다.!!! 주의해주시고
알고리즘 순서도를 다 설계했으면 그걸 보고 코딩을 진행해주세요.
당연히 고양이와 코끼리 알고리즘이 각각 있겠죠? 
꼭 작성하고 진행해주세요. 


▣ 오늘은 벽에 닿으면 튕기기와 회전 방식을 정하는 블록을 배웠습니다.
단순히 벽에 닿으면 튕긴다라는 의미로 끝나면 안 됩니다.
저렇게 조건문이 들어있다고 추가적으로 생각해주시고 
회전 방식 정하는 건 나중에 게임을 만들 때 너무 중요한 부분이기 때문에 꼭 3가지다 회전 방식을 바꿔서 해보세요.
질문 있으시면 댓글 남겨주세요.
그럼 다음장에서 뵙겠습니다.


▣ 포기하지 마세요!!! 저도 했습니다.!!! 파이팅

 

728x90
반응형

댓글