klkk5451
2021-02-20 12:29
采纳率: 50%
浏览 114

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • ProfSnail 2021-02-20 12:38
    已采纳

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

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

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

    已采纳该答案
    打赏 评论
  • klkk5451 2021-02-20 12:29

    在unity中

    打赏 评论
  • 歇歇 2021-02-20 14:57

    void Update () {

     

    }

    移动完后更新

    打赏 评论
  • 歇歇 2021-02-20 15:11

    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 () {

     

    }

    }

    打赏 评论
  • klkk5451 2021-02-20 15:56
     v1 = imaTf.transform.position;
           
            iTween.MoveTo(imaTf.gameObject, btTf.transform.position, 5);
         
            v2 = imaTf.transform.position;
    //移动完 v1和v2是相同 为什么?
    打赏 评论

相关推荐 更多相似问题