본문 바로가기
어린이 코딩/앱인벤터 응용

[인벤터] 고양이잡기 게임 어플 만드는 법

by [바가지] 2017. 9. 13.
반응형

[인벤터 코딩 배우기 ]

"고양이 잡기" 게임 어플(앱) 만들기 - 블록 부분

 

 
지난 포스팅에서 디자인 부분을 작업 하였습니다 이번 포스팅에서는 블록 부분을 대하여 설명을 하고자 합니다

고양이 잡기 어플 만들기를 시작해 봅시다

 

게임설명 : 고양이 잡기 게임은 말 그대로 고양이가 나타나면 터치를 하여 잡으면 됩니다

                 그러면 스코어가 1씩 증가하는 게임입니다

 

크게 6가지 부분으로 나누어 코딩을 하게 됩니다

 

1. 전역변수 초기화 - 전역변수란 코딩 전체에서 사용되는 변할수 있는 값을 담는 그릇입니다

   전역변수 이름을 score 라고 하여 만들고, 초기 값을 0으로 설정하였습니다

   1) 공통변수 → 변수 → 번역변수 초기화 값 블록 드래그

   2) 공통변수 → 수학 → 아래 파란 모양 블록 드래그 하여 조립합니다

   초기화

이렇게 하면 전역변수 score를 선언하고 초기값을 0으로 설정 하는 것이 완료 되었습니다

이제 고양이를 터치 할 때마다 이 값을 1씩 올려주는 부분을 코딩해야 겠죠

그리고 추가 기능으로 터치했을 경우 휴대폰이 진동이 울리고, 화면에서 점수 부분 값이 변하도록 해 보겠습니다

또 하나 기존 위치의 고양이가 사라지고 다른 위치에 고양이가 나타나도록 하겠습니다

 

2. 고양이를 터치 했을 경우

    블록 색을 보고 공통변수 중 어느 스크립트인지 빠르게 찾을 수 있습니다

    1) 고양이 터치 기능 블록을 드래그 합니다

    2) 변수 스크립트에서 값 지정하기 블록을 드래그 하여 변수를 globa score로 선택 해 줍니다

        전역변수 score를 1. 에서 만들어 주었기 때문에 선택 목록에 표시 됩니다

    3) 수학 스크립트에서 score 값과 + 1 을 해주는 부분을 만들어 줍니다

    4) Screen1 디자인부분에서 추가한 Noise를 클릭하게 되면 해당 기능에서 사용가능한 블록 들이 나타납니다

       [호출.진동] 블록을 드래그 하고 설정값을 추가 해 줍니다

    5) 함후 스크립트에서 호출블록 두개를 드래그 하여 조립 해 줍니다

       아직 호출 대상 부분을 만들지 않았기 때문에 드래그만 해 두세요

고양이터치   Noise

이제 호출 할 부분들을 만들어 보도록 하겠습니다

 

3. 스코어 값을 화면 점수 레이블 텍스트로 입력 해 주는 기능입니다

   기능들을 하나의 덩어리로 블록들을 조합 해 놓은 것을 함수라고 합니다 

   예를 들어 고양이가 한시간동안의 움직임이는 것을 코딩한다고 합시다

   그럼 한시간동안 한번 이상 오른발을 올리는 경우가 발생 할 수 있습니다 그럴 경우 오른발을 올리는 기능을 

   그때마다 만들어 주는 것은 너무 번거롭겠죠 그래서 한 덩어리(함수) 로 만들어 놓고, 계속 호출 하여 사용하는

   것입니다  

   설명이 길어 졌네요

   함수 스크립트에서 함수를드래그 하고, 디자인 화면에서 만든 Screen1에서 점수를 클릭하면 사용가능한 블록

   들이 보입니다

   아래아 같이 만들어 주세요

   텍스트에서 합치기 기능은 두 텍스트를 합치는 기능입니다 접수라는 텍스트와 score 변수 값을 합쳐서 보여

   지도록 합니다 

함수

 

4. 이번에는 터치되었을 경우 고양이가 이동하는 함수 입니다

   제가 처음 폭탄으로 했다가 폭탄이미지가 없어, 고양이로 변경 했는데.. 여기 함수 이름을 수정 안했네요 ^^

   0부터 1사의 임의의 수를 만들어주는 블록이 있습니다 이 기능으 이용하여 아래와 같이 만들어 주세요   

   ex) 임의의 분수(0.5) * 너비(100) - 고양이X좌표(10) → 고양이의 X좌표가 45 값으로 이동하게 됩니다

   그렇게 하여 랜덤으로 획득한 X좌표 Y좌표 값의 위치에 고양이가 나타나게 됩니다 

함수

 

5. 터치 성공할때까지 그 자리에만 있으면 안되겠죠

   디자이너 영역에서 추가한 타이머 기능을 통해, 설정 해 놓은 시간이 지나면 고양이가 움직이도록 해

   보겠습니다 

   여기에서 다시 호출 함수를 호출하게 됩니다 이런 이유 때문에 우리는 덩어리(함수)로 기능을 구현 해 둡니다

타이머

 

6. 다시하기 버튼 기능 이제 마지막 단계 입니다

   힘을 내세요~!! 다시하기 기능입니다 다시하기 버튼을 클릭하면 score 값을 0으로 설정하고

   화면에서 점수 레이블 값도 초기화 해주기 위해 스코어 함수를 호출 시킵니다

   스코어 값을 0으로 설정 후 점수 함수를 호출해야 겠죠

다시하기

 

 

여기까지 고양이 잡기 게임 블록 부분까지 설명이 완료 되었습니다

추가했으면 하는 기능들이 많이 보이죠 1분을 정해 놓고 고양이를 몇마리 잡는지 하도록 한다거나

시작 버튼을 클릭했을 때 고양이가 움직이기 시작한다거나 등등

 

그럼 오늘은 여기까지 "게임 어플 만드는 법" 포스팅을 마무리 하도록 하겠습니다

 

apk 파일 올려 드립니다  TEST02.apk

 

반응형