본문 바로가기
스크래치/올펜 플렛포머 만들기

올펜 플랫포머 만들기6- 블록의 종류 추가하기

by 할거없네 2019. 2. 7.

스테이지를 만들기 전에 블록들을 다양하게 여러가지로 만들겠습니다.

일단 변수를 만들어서 블록의 종류를 결정하도록 합니다.




이 블록은 숫자키를 누르면 해당 번호로 바뀌도록 단순하게 하겠습니다.




어떤 키를 누르는지 확인 한 후에 그 키가 몇인가에 따라서 번호를 넣도록 했습니다.

번호기 이전에 어떤키를 누르는지 확인 하는 이유는 무한반복 루프에 조건을 따지는 것을 줄이기 위함입니다.




이 블록의 위치는 map_maker위에 놓기로 하였습니다.

이제 숫자키를 누르면 해당 타입의 블록으로 설치할 준비가 되었습니다.

이제 타입에 따라서 블록의 모양을 결정하기로 합니다.




블록들이 많아서 복잡해질 수 있지만, 프로그래밍하기 편하도록 타입마다 블록들을 만들기로 하였습니다.

먼저 1번째 타입의 블록은 검은색 네모칸에 엑스 표시가 되도록 하겠습니다.

그리기에는 반드시 '화면 전환 없이 실행'을 체크해주어야 합니다.




검은색 네모칸에 x표시까지 넣어줍니다.




마우스 커서에 변수가 1이면 1번 블록을 그리도록 하였습니다.




1번을 누르면 1번 블록이 마우스 커서에 그려집니다.

다음은 맵의 블록 그리기를 바꿔주기로 합니다.




일단 1번만 있으므로, 1번인 경우에만 그려주도록 했습니다.




각 끝 사이드는 모양이 찌그러졌지만 그럭저럭 볼만해졌네요.

다음은 맵 메이커에서 기존에 마우스를 누르면 0이면 1로, 1이면 0으로 바뀐 것을

블록타입 변수값으로 찍어주는 것으로 바꿔주었습니다.







이제 1이 아닌 다른 블록들을 만들어 보겠습니다.

일단 만들어 볼 블록은 아래와 같습니다.

블록1: 검은색 바닥

블록2: 빨간색, 닿으면 사망

블록3: 파란색, 중력과 점프력이 감소하고 점프 가능(물)

블록4: 풀, 중력이0이 되고 점프 가능

나머지 5부터는 어떤 블록을 만들 지 차후 생각해 보기로 하겠습니다.




기존 1번 블록 외에 2~4번블록을 추가하였습니다.




커서에 블록 변수에 따라 모양을 추가하고,




맵 그리기에도 추가하였습니다.






추가된 블록들이 잘 그려지는 것을 확인할 수 있습니다.

이제 블록의 특성을 넣으려고 합니다.




캐릭터 상태 변수를 만들어 주고,




블록 센서에 현재 캐릭터가 닿은 블록의 값으로 지정합니다.




해당 값에 따라서 속도와 점프 가능여부를 재조절 해주었습니다.




아직 빨간블록에 닿으면 사망하는 부분은 다음 강좌에 스테이지를 추가하면서 구현하도록 하겠습니다.

스크립트 보기

https://scratch.mit.edu/projects/282861983/


댓글