物体移动完,在代码中看position还是以前的数值?

用ITween.moneTo后物体移动完,在代码中看position还是以前的数值,编辑器中确实移动到位置了

只要moveto之后就会到达目标position的呀。你检查一下自己被移动目标物体的位置参数输出时候的代码位置,看看是不是输出错内容了。

或者检查一下代码中你是否创建了两个position的引用?引用类型变量的赋值只复制对象的引用,而不复制对象本身。

具体的过程我已经通过私信发给你了。总而言之是因为调用的速度太快,而没有使用update更新坐标位置就判断前后坐标是否相同导致的。

在unity中

void Update () {

 

}

移动完后更新

public class doubleTween : MonoBehaviour {

 

// 初始化

void Start () {

iTween.RotateBy(gameObject,iTween.Hash("x", .25,"time",2, "easeType"

, "easeInOutQuad", "loopType", "pingPong", "delay", .2));

 

iTween.MoveTo(gameObject,iTween.Hash("x",6,"time",4,"loopType","pingPong"

,"delay",.4,"easeType","easeInOutQuad"));

}

 

//每次都更新

void Update () {

 

}

}

 v1 = imaTf.transform.position;
       
        iTween.MoveTo(imaTf.gameObject, btTf.transform.position, 5);
     
        v2 = imaTf.transform.position;
//移动完 v1和v2是相同 为什么?