첫코딩

좌표를 알아봅시다

토픽 첫코딩 > 스크래치 - 학생용

이제부터는 게임을 만들기 위해서 필요한 것들을 차근차근 배워봅시다. 게임의 기본은 움직임이라고 할 수 있습니다. 스크래치는 다양한 움직임 방법을 제공하고 있습니다. 이를 이해하기 위해서 좌표를 먼저 알아봅시다.

좌표

좌표는 위치라고 할 수 있습니다. 어떤 스프라이트를 움직이고 싶다면 그것을 어떤 위치로 이동시키고 싶은가를 알아야 합니다. 스크래치에서는 모든 일이 무대 위에서 일어납니다. 아래 그림이 무대입니다.

그림의 아래쪽을 보시면 x:240, y:114라고 적혀있는 것이 보이시나요? 이것이 좌표입니다. x 좌표와 y 좌표의 관계는 아래 그림과 같습니다.

x는 가로축 y는 세로축을 의미합니다. x와 y의 값에 따라서 고양이의 위치가 어떻게 바뀌는지 살펴볼까요? 우선 고양이를 선택 한 후에 스크립트의 동작에서 x:oo y:oo 이동하기를 스크립트로 위치시킵니다. 여기에 아래와 같이 숫자를 입력하고 더블 클릭을 합니다.

그럼 아래와 같이 고양이가 화면의 가운데로 이동하는 것을 볼 수 있습니다. 

이번에는 아래와 같이 숫자를 입력합니다.

이런식으로 x와 y의 값에 따라서 고양이의 움직임이 어떻게 변하는지 살펴봅니다. 

그럼 이제 좌표가 무엇인지 대충 알겠죠? 정확하게 아는 것은 차차로 하면 됩니다. 그럼 이제 고양이를 조금 다른 방법으로 움직여 봅시다.

동작에서 O만큼 움직이기를 스크립트 영역으로 이동시키고 클릭해보세요.

어떻게 되나요? 고양이가 현재 위치에서 10만큼 움직이는 것을 볼 수 있죠? 이 숫자를 바꿔가면서 실행시켜 보세요. 

현재 위치를 기준으로 이동

만약 숫자를 1로 바꾸고 고양이를 왼쪽 끝에 위치시킨 후에 클릭해서 반대쪽 끝으로 이동시켜야 한다면 어떻게 될까요? 

아마 우리 수업 듣다가 그만두겠죠? 좋은 방법이 있습니다. 

제어의 무한반복을 이용하는 겁니다. 

이렇게 하면 우리 대신 컴퓨터가 광클(빠른 클릭)을 하게 됩니다. 그럼 이번에는 숫자를 1에서 10으로 변경해봅시다. 고양이가 더 빨리 움직이죠? 그것은 같은 시간동안 1칸을 움직이던 고양이가 10칸을 움직이기 때문입니다. 대신 부드러운 느낌은 줄어들었죠?

튕기기

그런데 고양이가 한쪽 벽에 부딛히면 거기서 멈춰있게 됩니다. 이것도 좋지만 왠지 양쪽 벽을 왕복하면 더 좋을 것 같군요. 아래와 같이 블럭을 추가하면 어떻게 될까요?

왕복을 하게 됩니다. 그런데 뒤집히네요. 

아래와 같이 스프라이트를 선택하고 회전방식을 좌우로 변경하시면 됩니다.

이렇게해서 어떤 물체를 움직이는 방법에 대해서 배웠습니다. 이것은 스크래치 프로그래밍의 가장 기본이면서 제일 중요한 내용이기 때문에 잘 이해하셔야 합니다. 

댓글

댓글 본문
  1. 당당
    2023.07.04
  2. 로버트한
    참 재미 있어요^^
  3. 축복의통로
    강의를 쉽게 해 주셔서 이해가 잘 되네요.
    숫자가 들어있는 좌표 배경화면을 다운로드할 수 있을까요?
  4. Kisoo Ahn
    진도 나갑니다.
  5. Seo Yun Seok Tudoistube
    웹이 뜨기 전에 VB 처럼 10년후엔 스크래치처럼 개발하지 않을까요? 감사합니다^_____^
  6. JustStudy
    고맙습니다
  7. 후반양반무
    동영상에도 'ㅁ만큼 움직이기'에 대한 내용이 있으면 좋을거 같아요
    아무래도 'X(Y) 좌표로 ㅁ 만큼 움직이기' 와는 약간 차이가 있으니 한번 언급해 주는게 좋을거 같아요
  8. 빛과소금
    맨 아래부분에 튕기기할때 안 뒤집히게 하는 옵션이 안보이네요.. 영문판 쓰고이긴한데 그게 문제일것같진않구요..