Question>
UDK로 game을 만들고 있는데,
game에 '시간 제한'이라는 개념을 넣고 싶다.
즉, 시간 제한 설정을 할 수 있고,
시간이 종료 되었을때 마무리 할 수 있는 기능을 넣고 싶다.
이런 것들이 가능하려면, 어떻게 접근해야 하는가?
-------------------------------------------------------------
Answer>
3가지 방법으로 접근할 수 있겠습니다.
1>GetSystemTime()을 이용하는 방법.
'class Object'에 정의 되어 있는 GetSystemTime()를 이용하시면,
우리가 일상 생활에서 사용하는 시간 개념으로 시간을 인지할 수 있습니다.
년, 월, 일, 시, 분, 초, ... 등을 사용 즉시 바로 알 수 있습니다.
GetSystemTime()로 구한 변수 값의 보관과 비교를 통해서,
'시간 제한'이라는 개념을 구현하는 것이 가능합니다.
2>worldInfo를 이용하는 방법.
'class Actor'에 worldInfo라는 변수가 정의되어 있습니다.
'class WorldInfo'로 정의된 변수고요.
'class WorldInfo'를 살펴 보면, 아래 변수를 찾을 수 있습니다.
var float timeSeconds;
var float realTimeSeconds;
둘 다 game이 play된 이후부터 현재까지의 시간을 초 단위로
알려주는 변수입니다. 이 둘의 차이점은
timeSeconds는 pause의 영향을 받지만,
realTimeSeconds는 pause의 영향을 받지 않는다는 겁니다.^^;;;;
어느 쪽을 이용하든, 초 단위로 시간의 진행을 파악할 수 있으므로,
이들 변수의 보관과 비교를 통해서, '시간 제한'이라는 개념을
구현하는 것이 가능합니다.
3>kismet의 sequence objet을 이용하는 방법.
kismet은 sequence objet으로 'delay'와 'timer'를 제공합니다.
이를 이용해도 앞의 방법들과 유사한 구현이 가능합니다.
셋 중에 하나 고르세요~
(개인적으로 두번째 방법을 추천합니다.^^)
Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS