[英]Unity3D: iTween oncomplete not working
我正在開發Unity2游戲,我想讓Boom在iTween
動畫的結尾消失。
這是代碼的一部分
void OnMouseDown() {
if (ChosePosition == false)
ChosePosition = true;
// make Star stop
else if (ChosePosition == true && ChoseForce == false) {
ChoseForce = true;
//Compute Force power
PowerDegree = Mathf.Abs (Star.transform.position.y - StarPosition)/ Mathf.Abs(StarendPosition - StarPosition) * 100;
//print (PowerDegree);
Vector3 NewBoomPostion = new Vector3 (Luncher.transform.position.x, BoomPosition, 85);
GameObject newBoom = Instantiate(Boom, NewBoomPostion , Quaternion.identity) as GameObject;
iTween.MoveTo (newBoom, iTween.Hash
("y",BoomPosition+((BoomendPosition-BoomPosition)/100*PowerDegree),
"speed",Boomspeed,
"EaseType",BoomeaseType,
"LoopType",BoomloopType,
"oncomplete","BoomComplete"
));
CarrierReset = true;
ChosePosition = false;
ChoseForce = false;
//After Shot, Luncher will move
iTween.Resume(Luncher);
//After Shot, Luncher Carrier will display
displayCarrierOrNot = true;
}
}
void BoomComplete(){
print("complete");
}
但是我在控制台中看不到“完成”。
關於Unity Answers的這篇文章描述了您遇到問題的原因:
默認情況下,iTween嘗試在要設置動畫的對象上調用您提供的回調方法-在您的情況下為
mainCamera.gameObject
。 由於“onCameraShakeComplete
”不駐留在該對象上,因此永遠不會被調用。 你有兩個選擇:把這個方法到您的mainCamera.gameObject
或簡單地提供AM“onCompleteTarget
的”gameObject
告訴的ITween為使用設立這個的ITween游戲對象。
在您的情況下,它要設置動畫的對象是newBoom
,但是您在自己的組件上有回調。 要使iTween使用當前的回調,可以在Hash
調用中添加一個參數:
iTween.MoveTo (newBoom, iTween.Hash(
// ...
"oncomplete", "BoomComplete",
"oncompletetarget", gameObject
));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.