GAME MAKER 강좌
KAYAN
게임메이커의 Persistent 기능에 대해 알아봅시다.
일반적으로 전역변수(global변수)가 아닌 이상 오브젝트의 변수(로컬 변수)들이나 룸의 내용들은 다른 룸으로
이동하거나, 다시 돌아왔을 때 모두 초기화 되어버립니다..
하지만 오브젝트의 변수들이나 룸의 내용들을 룸과 룸사이에 왕래를 하더라도 유지 시키고 싶을 때가 있지요.
그럴때는 Pesistent 기능을 사용하면 됩니다.
Persistent 기능은 룸의 내용이나 오브젝의 내용을 저장하는 기능입니다.
물론 저장한다는 의미는 외부의 파일로 저장하는 것이 아닌 메모리에 저장한다는 것이지요.
이러한 Persistent 기능은 오브젝트의 Persistent와 룸의 Persistent 2 종류로 구분됩니다.
먼저 오브젝트의 Persistent 는 오브젝트의 변수들이나 위치를 저장하여 다음 룸으로 이동했을 때
오브젝트의 내용을 그대로 반영하는 기능입니다.
즉, 현재 룸에는 이 오브젝트가 있지만, 다음으로 이동할 룸에 이 오브젝트가 없더라도, 룸에 해당 오브젝트를
생성(오브젝트를 자동으로 생성)하고, 위치와 변수들을 그대로 유지시킨다는 것입니다.
(▲ 오브젝트의 Pesistent)
이 기능이 활성화 시키려면 오브젝트의 Persistent 를 체크하면 됩니다.
주의 할 것은 이 Persistent가 체크된 오브젝트를 룸에 미리 배치하거나, 이벤트로 생성했을 때는 미리
이 오브젝트가 있는지 확인하고 생성해야합니다.
왜냐하면 Persistent가 활성화된 오브젝트는 다음 룸으로 이동할때마다 오브젝트를 생성 시켜서,
이벤트로 생성하는 경우는, 중복 생성될 수도 있기 때문입니다.
그렇기 때문에 오브젝트가 중복되도 되는지, 아니면 1개만 생성되어야 하는지 미리 확인을 해야합니다.
다음은 룸의 Persistent에 대해 알아보도록 합시다.
(▲ 룸의 Persistent)
룸의 Persistent는 Persistent가 활성화된 현재 룸의 모든 내용을 다음 룸으로 이동할 때 저장시키고
다시 현재 룸으로 돌아오면, 다른 룸으로 이동하기 전에 있던 룸의 내용들을 다시 복구하여 반영시키는 것입니다.
이렇게 생각하시면 간단해요.
Persistent가 활성화된 오브젝트는 현재 룸에 있던 오브젝트의 내용들을 다음 룸으로 이동할때마다
오브젝트를 자동으로 생성하여 변수와 오브젝트의 이벤트 내용들을 그대로 유지시키는 것이고,
Persistent가 활성화된 룸은 현재 룸만 유지(룸을 이동하기 바로 전의 내용을 저장)시키는 것입니다.
일반적으로 이러한 기능은 룸과 룸사이를 왕래를 해야하는 RPG게임에서 자주 사용됩니다.
'GameMaker강좌[GM8] > 기초강좌' 카테고리의 다른 글
[게임메이커강좌-기초]텍스트 표시 (13) | 2014.01.03 |
---|---|
[게임메이커강좌-기초]체력바 표시 (36) | 2013.12.31 |
[게임메이커강좌-기초]타임라인과 알람 (2) | 2013.12.26 |
[게임메이커강좌-기초]스프라이트 애니메이션 (3) | 2013.12.10 |
[게임메이커강좌-기초]Visible기능 (1) | 2013.12.09 |
댓글