HashTable 사용법

HashTable로 인자를 넘길때 iTween.Hash() 함수를 통하여 넘기는방법과 직접 HashTable을 생성하여 전달하는 방법이 있다.

하지만 iTween.Hash() 를 써도 내부적으로는 HashTable을 직접생성하기때문에 HashTable을 직접생성하여 전달하는 방법을 알아야 한다.

Ex)

Hashtable hash = new Hashtable();

hash.Add("position", Vector3.zero);

hash.Add("orienttopath", true);
hash.Add("islocal", true);
hash.Add("speed", 5.0f);
hash.Add("easetype", iTween.EaseType.linear);
hash.Add("onstart", "ItweenStart");
hash.Add("onupdate", "ItweenUpdate");
hash.Add("oncomplete", "ItweenEnd");        

iTween.MoveTo(gameObject, hash);

혹은

아래와 같이 사용 하면 됩니다.~


iTween.MoveTo(mGrid.gameObject,iTween.Hash("x",(mGrid.localPosition.x - (mBossCount * 100)) ,"easeType","spring","loopType","none","time",1,"isLocal",true,"oncomplete","fBossAniEnd")); 

위 예제처럼 HashTable은 Key,Value을 한쌍으로 하는 자료구조이다.

iTween함수마다 내부적으로 사용하는 Key값이 다르며 함수마다 사용하는 Key값은

 http://itween.pixelplacement.com/documentation.php 에 잘나와있다.

 

위에 예제에서 사용한 Key값들은  MoveTo함수에서 자주 사용하는 옵션들이다.

"position" : 말그대로 위치값이다.

"orienttopath" : 이동하는 방향으로 Look 벡터를 자동 회전시켜준다.
"islocal" : 로컬좌표계로 이동
"speed" : 이동 속도이며 "time"대신 사용되어진다.
"easetype" : 보간 방법을 설정한다. iTween은 다양한 보간법을 지원하며 http://www.robertpenner.com/easing/easing_demo.html 에서 확인 가능하다.
"onstart" : Itween이 시작될때 호출되는 함수
"onupdate" : 매프레임마다 호출되는 함수
"oncomplete" : Itween이 끝날때 호출되는 함수

호출되는 함수 같은 경우 내부적으로 SendMessage로 구현되어 있다. 그래서 onupdate인자를 남용한다면 성능상 불이익이 올수 있다.


+ Recent posts