用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是相同 为什么?