3권 · 7. 라인센서로 게임 만들기
라인센서로 게임 만들기
라인센서로 방향을 바꾸는 슈팅 게임을 만들어요. 가운데 삼각형이 빙글 돌며 미사일을 쏩니다 🚀
오늘의 미션
라인센서로 조종하는 미사일 게임을 만들어 봅니다.
무엇을 만들까?

삼각형 스프라이트는 가운데에 있고 회전만 해요.
라인센서가 흰색과 검은색을 읽으면 도는 방향이 달라져요.
미사일은 복제되어 삼각형이 보는 쪽으로 날아가요.
준비물
- 엘리오라인센서로 흰색과 검은색을 읽어요.
- 삼각형 스프라이트가운데에서 회전하며 미사일을 쏴요.
- 미사일 스프라이트복제되어 앞으로 날아가요.
- 적 스프라이트여러 곳에서 나타나 삼각형 쪽으로 와요.
따라해 보자
- 1
삼각형 만들기
벡터 모드로 삼각형을 그리고 중심점을 가운데에 맞춰요.
- 2
적과 미사일 준비
검은 삼각형 적과 작은 미사일 스프라이트를 만들어요.
- 3
라인센서로 회전
흰색이면 한쪽, 검은색이면 반대쪽으로 돌게 해요.
- 4
미사일 계속 발사
0.2초마다 미사일 발사 메시지를 보내요.
- 5
복제로 날리기
미사일 복제본이 삼각형 위치에서 보이는 방향으로 날아가요.
완성 코드
🧱완성 코드 76블록 — 블록이 아주 많아요! 눌러서 펼쳐 보기
이 작품은 코드가 길어요. 천천히 부분부분 따라 만들어 봐요. 아래는 실제 Scratch 3.0 완성 코드예요.
무대
⚑ 클릭했을 때
무한 반복하기
[게임배경음악.mp3▾] 끝까지 재생하기
미사일
⚑ 클릭했을 때
숨기기
[미사일 발사▾] 신호를 받았을 때
[_myself_▾] 복제하기
복제되었을 때
[삼각형▾] (으)로 이동하기
((삼각형 방향) - (90))도 방향 보기
보이기
무한 반복하기
(10)만큼 움직이기
만약 [_edge_▾]에 닿았는가? (이)라면
이 복제본 삭제하기
만약 [적▾]에 닿았는가? (이)라면
(0.01)초 기다리기
이 복제본 삭제하기
적
[게임 시작▾] 신호를 받았을 때
무한 반복하기
[_myself_▾] 복제하기
[적 복사시간▾] 을(를) ((1) 부터 (3) 사이의 난수)로 정하기
(적 복사시간)초 기다리기
복제되었을 때
[속도▾] 을(를) (3)로 정하기
위치 정하기
보이기
무한 반복하기
[삼각형▾] 쪽 보기
(속도)만큼 움직이기
만약 [미사일▾]에 닿았는가? (이)라면
[점수▾] 을(를) (1)만큼 바꾸기
[pop▾] 재생하기
이 복제본 삭제하기
만약 [삼각형▾]에 닿았는가? (이)라면
[체력▾] 을(를) (-1)만큼 바꾸기
[dog1▾] 재생하기
이 복제본 삭제하기
⚑ 클릭했을 때
[체력▾] 을(를) (3)로 정하기
[점수▾] 을(를) (0)로 정하기
숨기기
정의하기 위치 정하기
[위치▾] 을(를) ((1) 부터 (4) 사이의 난수)로 정하기
만약 (위치) = (1) (이)라면
x: ((-200) 부터 (200) 사이의 난수) y: (140) (으)로 이동하기
만약 (위치) = (2) (이)라면
x: (200) y: ((-160) 부터 (140) 사이의 난수) (으)로 이동하기
만약 (위치) = (3) (이)라면
x: ((-200) 부터 (200) 사이의 난수) y: (-160) (으)로 이동하기
만약 (위치) = (4) (이)라면
x: (-200) y: ((-160) 부터 (140) 사이의 난수) (으)로 이동하기
[게임 시작▾] 신호를 받았을 때
무한 반복하기
만약 (체력) = (0) (이)라면
[게임 끝▾] 신호 보내고 기다리기
[게임 끝▾] 신호를 받았을 때
[other scripts in sprite▾] 멈추기
Heart
⚑ 클릭했을 때
보이기
무한 반복하기
만약 (체력) < (3) (이)라면
숨기기
Heart3
⚑ 클릭했을 때
보이기
무한 반복하기
만약 (체력) < (1) (이)라면
숨기기
Heart2
⚑ 클릭했을 때
보이기
무한 반복하기
만약 (체력) < (2) (이)라면
숨기기
삼각형
⚑ 클릭했을 때
(90)도 방향 보기
x: (0) y: (0) (으)로 이동하기
(주황색 삼각형이 미사일을 계속 쏩니다.) 을(를) (2)초 동안 말하기
(라인센서가 흰색을 읽으면 스프라이트가 시계방향으로 회전합니다. ) 을(를) (2)초 동안 말하기
(라인센서가 검은색을 읽으면 스프라이트가 시계반대방향으로 회전합니다. ) 을(를) (2)초 동안 말하기
(적에 닿으면 체력이 하나씩 떨어집니다.) 을(를) (2)초 동안 말하기
[게임 시작▾] 신호 보내기
[게임 시작▾] 신호를 받았을 때
맨 앞쪽으로 순서 바꾸기
[미사일 기다리는 시간▾] 을(를) (0.2)로 정하기
무한 반복하기
[삼각형 방향▾] 을(를) (방향)로 정하기
[미사일 발사▾] 신호 보내기
(미사일 기다리는 시간)초 기다리기
[게임 끝▾] 신호를 받았을 때
(90)도 방향 보기
((여러분의 점수는 ) 와(과) (점수) 결합하기) 말하기
[other scripts in sprite▾] 멈추기
[게임 시작▾] 신호를 받았을 때
[회전각도▾] 을(를) (5)로 정하기
무한 반복하기
[흰색▾] 을(를) (라인1)로 정하기
만약 (흰색) = (1) (이)라면
↻ (회전각도)도 돌기
아니면
↺ (회전각도)도 돌기
진짜 소스: 7.라인센서로 게임 만들기.sb2 · 76블록
도전!
적이 더 빨리 나오게 하거나 체력을 바꿔 보세요!


라인센서 게임 개발자답게 멋지게 완성했어요 🌟