물고기 키우기 실행화면 스냅샷.

GameMaker Studio 1.4로 '게임메이커 프로그래머' 책 보며 예제 11-15장 따라하기.

11장 물고기 키우기 게임 만들기:

* 마우스 좌클릭시 먹이 생성:
objControl에 Mouse-Global Mouse-Global Left Pressed 이벤트, Main1-Create Instance(object: objFood, x: mouse_x, y: mouse_y) 액션 추가. mouse_x: 현재 마우스의 x 위치
* 물고기가 먹이 먹으면 점수 1점 추가:
objFishLv1에 Collision-objFood 이벤트 추가, Score-Set Score(new Score: 1, Relative 체크) 액션, Main1-Destroy Instance(Applies to: Other) 액션 추가.
* 점수가 10점이 되면 물고기 커지게 하기:
objFishLv1의 Collision-objFood 이벤트에 Score-Test Score(value: 10) 액션, Main1-Change Instance(change into: objFishLv2) 액션 추가.
* 물고기가 커지며 레벨업 이미지 나오게 하기:
objFishLv1의 Collision-objFood 이벤트에 Main1-Create Instance(object: objTxtLevelUp, x, y: -64, Relative 체크) 액션 추가.
* 시작블록, 끝블록: Control-Start Block, End Block으로 조건에 따라 실행하는 액션이 1개 이상일 경우 한꺼번에 실행되는 액션들 위, 아래에 붙여주는 기능.

16/8/15 월


풍선 사격 게임 실행 스냅샷.

12장 풍선 사격게임 만들기:

* 총알 역할 하는 변수 만들기:
Control-Set Variable(Variable: shot, value: 0) 액션
* 4가지 풍선 중 임의의 1가지 생성시키기: Main1-Create Random 액션
* 마우스 클릭시 총알 변수 1씩 줄어들게 처리:
Mouse-Global Mouse-Global Left Pressed 이벤트 > Control-Set Variable(Variable: shot, value: -1, Relative: On)
* 총알 변수가 0이 되면 게임 끝내기:
Control-Test Variable(Variable: shot, value: 0)액션, Main1-Different Room 액션.
* 총알 변수값 게임화면에 표시:
Draw 이벤트 > Control-Draw Variable(Variable: shot, x, y: 32) 액션.


방 탈출 게임 실행화면 스냅샷.

13장 방 탈출 게임 만들기:
* global.key로 전역변수 설정한 것이 에러가 나서 진행을 못하고 있는 중
-문제해결: global.keys로 이름을 바꾸자 해결되었다. key가 이미 정해져 있는 변수명이었던듯.

* 열쇠 역할 하는 변수 만들기: Set Variable 액션
* 열쇠를 얻으면 열쇠변수 1이 되게 하기: Set Variable 액션
* 보이지 않는 오브젝트 만든 뒤 열쇠를 얻어 오브젝트 클릭시 다음 룸으로 이동:
Visible 체크 해제 하여 안보이게 처리. Test Variable 액션
* 열쇠를 얻지 못한 경우 메시지 출력: Else, Mai2-Display Message 액션.

14장 플래피 버드 게임 만들기:

* 오브젝트에 중력 적용:
Step-Step 이벤트 > Move-Set Gravity(Direction: 270, Gravity: 0.5) 액션
* 중력 가속도가 일정 이상 올라가지 않게 제한:
Control-Test Variable(variable: vspeed, value: 7, operation: greater than) 액션, Move-Speed Vertical(vert.speed: 7) 액션.
* 스페이스 키 클릭시 튀어 오르기:
Key Press-Space 이벤트 > Move-Speed Vertical(vert.speed: -10) 액션.
* 불규칙한 높이로 생성되는 벽 장애물 만들고 배경 움직이기:
Create 이벤트 > Set Alarm(num of steps: 60) 액션,
Alarm-Alarm 0 이벤트 > Main1-Create Instance(obj: objWall, x: 1023, y: -random(300)) 액션, Set Alarm(num of steps: 60) 액션.
- 룸 설정 창 Background 탭 Hor Speed: -8로 설정.

15장 팡팡 게임 만들기:
* 제일 큰 풍선이 터질 때는 괜찮은데 두번째 큰 풍선이 터져 가장 작은 풍선 2개가 튀어나올 때 양쪽으로 갈라지지 않고 한쪽 방향으로만 나오는 버그. 동일한 코드인데 왜 다른 결과가 나오는지 모르겠다. 작은 풍선의 시작시 방향 설정을 없앴더니 제대로 작동한다. 다듬기.

* 부모 오브젝트 만들기:
objBall1~3 오브젝트 설정 창 중 Parent: objBallParent로 설정.
* 공이 모두 사라지면 게임 종료시키기:
Step-Step 이벤트 > Main1-Test Instance Count(obj: objBallParent, number: 0, operation: equal to) 액션, Main1-Create Instance(obj: objTxtClear, x: 192, y: 320), Main1-Destroy Instance(self) 액션.
* 공이 화살에 맞으면 작은 공 두개로 나뉘게 하기:
Collision-ObjArrow 이벤트 > Main1-Create Moving Object(objBall2, speed: 5, direction: 60 / 120, Relative: On) 액션 2개, Main1-Destroy Instance(other / self) 액션 2개.