Hereは、Itween.MoveTo
関数の直接のドキュメントです。

oncompleteparams引数としてObject
を期待しています。つまり、ほぼすべてのデータ型を渡すことができます。例えば、string
,bool
,int
,float
,double
およびobject instance
は、それに渡すことができるデータ型の1つである。
コールバック側では、コールバック関数がObjectをパラメータとして使用するようにします。コールバック関数の内部では、Object
パラメータを渡したデータ型の型にキャストします。
例:
"oncomplete", "afterPlayerMove",
"oncompleteparams", 5)
コールバック:あなたが見ることができるように
public void afterPlayerMove(object cmpParams)
{
Debug.Log("Result" + (int)cmpParams);
}
、我々はoncompleteparams
関数に5を渡していると5は整数です。 afterPlayerMove
コールバック関数では、結果を得るために整数に戻します。あなたの例では
iTween.HashがHashtable
を返しますので、あなたはHashtable
にキャストしなければならないので、あなたはoncompleteparams
のためiTween.Hash
を使用。その後、Hashtableの値を取得するには、その型にキャストする必要があります。
"oncomplete", "afterPlayerMove",
"oncompleteparams", iTween.Hash("value", _fieldIndex)
コールバック:
_fieldIndex
がint
であると仮定すると。
public void afterPlayerMove(object cmpParams)
{
Hashtable hstbl = (Hashtable)cmpParams;
Debug.Log("Your value " + (int)hstbl["value"]);
}
最後に、あなたのコードが読めません。このコードを簡略化して、他の人が次回にあなたを手助けしやすくしてください。
完全な単純化した例:
int _x, _y = 6;
//Parameter
int _fieldIndex = 4;
float floatVal = 2;
string stringVal = "Hello";
bool boolVal = false;
GameObject gObjVal = null;
void Start()
{
Hashtable hashtable = new Hashtable();
hashtable.Add("x", _x);
hashtable.Add("z", _y);
hashtable.Add("time", 2.0f);
hashtable.Add("easetype", iTween.EaseType.easeInExpo);
hashtable.Add("oncomplete", "afterPlayerMove");
//Create oncompleteparams hashtable
Hashtable paramHashtable = new Hashtable();
paramHashtable.Add("value1", _fieldIndex);
paramHashtable.Add("value2", floatVal);
paramHashtable.Add("value3", stringVal);
paramHashtable.Add("value4", boolVal);
paramHashtable.Add("value5", gObjVal);
//Include the oncompleteparams parameter to the hashtable
hashtable.Add("oncompleteparams", paramHashtable);
iTween.MoveTo(gameObject, hashtable);
}
public void afterPlayerMove(object cmpParams)
{
Hashtable hstbl = (Hashtable)cmpParams;
Debug.Log("Your int value " + (int)hstbl["value1"]);
Debug.Log("Your float value " + (float)hstbl["value2"]);
Debug.Log("Your string value " + (string)hstbl["value3"]);
Debug.Log("Your bool value " + (bool)hstbl["value4"]);
Debug.Log("Your GameObject value " + (GameObject)hstbl["value5"]);
}