GAME MAKER 강좌
KAYAN
게임메이커에서 사용되는 for, repeat, while과 같은 반복문에 대해 알아봅시다.
반복문은 1 step(룸속도가 30일때 1/30초)에 이벤트를 반복적으로 실행합니다.
한번에 여러 이벤트를 처리할때 매우 유용한 기능이라 할 수 있지요.
이러한 반복문들은 인스턴스 찾기나, 인벤토리등에 응용할 수 있습니다.
◈repeat 문
repeat(반복횟수){ 이벤트 }
repeat문은 지정된 횟수만큼 이벤트를 실행시킵니다.
간단하고 가장 기초적인 반복문이지요.
주로 오브젝트를 지정한 횟수만큼 생성할때 매우 유용한 기능입니다.
★사용예
{ |
이것은 룸의 랜덤 위치에 obj_enemy 오브젝트 5개를 생성하는 것입니다.
◈for 문
for(조건){ 이벤트 }
for문은 지정된 조건에 이벤트를 실행하는 것입니다.
이것의 조건은 보통 아래와 같이 구성됩니다.
for(시작; 조건;실행;){ 이벤트 }
예)
for(i=0;i<5;i+=1;){ 이벤트 }
물론 이것은 기본적인 예에 불과하지만, 대충 이렇습니다.
먼저 시작(i=0)은 간단하게 변수를 선언 또는 최초의 조건이라 보시면 됩니다. 그리고 조건문(i<5)에
도달 할 때까지 이벤트를 실행(i+1 과 이벤트)하게 되지요.
★사용예 { |
이것은 5회 동안 item 배열을 0값으로 초기화 하는 것입니다.
기능상으로 repeat 문과 비슷하죠.
응용한다면 2차배열도 처리할 수가 있습니다.
★사용예 { { |
이것은 item 배열을 0으로 초기화하는 것입니다.
◈while 문
while(조건){ 이벤트 }
while문은 조건이 true일때 이벤트가 실행됩니다.
이 구문은 무한 루프가 될 수도 있기 때문에 사용시 주의해야합니다.
무한 루프가 되면 게임이 멈추어 진행이 불가능하게 됩니다.
★사용예 |
이것은 action 이 1(true)이고, Solid 오브젝트가 없는 랜덤 위치를 검색하여 obj_enemy 오브젝트
1개를 생성하는 것입니다.
그리고 break문을 통해 반복문을 중지하게 되지요.
break대신 action=0, 즉, 조건을 false로 만들어도 반복문을 중지 시킬 수 있습니다.
만약 랜덤 위치에 Solid 오브젝트가 있다면, 없는 위치가 검색 될 때까지 반복문은 계속 이어지게 됩니다.
그리고 이 때 주의해야 점은 언제든지 반복문을 중지시킬 수 있는 조건이 필요로 한다는 것입니다.
만약 중지시킬 조건이 없다면 구문은 계속 반복되고, 결국 무한 루프에 빠져 게임이 정지할
수 있는 문제를 야기할 수 있습니다.
◈do 문
do{ 이벤트 }until(조건)
이것은 조건이 true가 될때까지 이벤트를 실행되는 반복문입니다.
이 역시 주의해야 할 것이 무한 루프입니다.
★사용예 { |
이것은 obj_enemy 오브젝트가 5이상이 될 때까지 랜덤 위치에 obj_enemy를 생성하는 것입니다.
동작 원리는 반복문의 이벤트가 먼저 실행되고, 반복문을 중지 시킬지 조건을 체크하여,
조건이 false라면 이벤트를 실행하고, true이라면 반복문을 중지 시킵니다.
그래서 이 반복문의 이벤트는 최소 1번 이상은 실행되니 참고하세요.
'GameMaker강좌[GM8] > 기초강좌' 카테고리의 다른 글
[게임메이커강좌-기초]게임의 최적화 팁 (0) | 2013.11.09 |
---|---|
[게임메이커강좌-기초]간단한 반복문 응용 (2) | 2013.11.08 |
[게임메이커강좌-기초]룸의 속도 (0) | 2013.10.28 |
[게임메이커강좌-기초]게임 저장 및 불러오기 (0) | 2013.10.15 |
[게임메이커강좌-기초]메시지 팝업 (16) | 2013.10.11 |
댓글