最近在做一个小Demo,用到ITween来完成部分动画的功能,令我苦恼的是ITween的执行过程让我很无奈,源代码片断如下:
//OnMouseUpAsButton()是Unity提供的点击方法
public void OnMouseUpAsButton(){
//点击之后左边的门向右移动,右边的门向左移动,是关门的动画
iTween.MoveTo (leftDoor,new Vector3(-2.26f,0f,-0.1f),1.0f);
iTween.MoveTo (rightDoor,new Vector3(2.26f,0f,-0.1f),1.0f);
//之后,左边的门向左移动,右边的门向右移动,是开门的动画
iTween.MoveTo (leftDoor,new Vector3(-6.0f,0f,-0.1f),1.0f);
iTween.MoveTo (rightDoor,new Vector3(6.0f,0f,-0.1f),1.0f);
}
我原先以为它会按照我想的去移动,至少也是移动有先后顺序,上面的语句执行完了才能执行下面的语句,但是事实上,这四行代码不是四秒运行完的,而是在同一秒中运行完毕,所以没有动画。
就像我现在往一个空篮子中捡鸡蛋,我想把鸡蛋全都捡到篮子里之后,再捡出来,现在却是你在把鸡蛋捡进篮子的同时,旁边还有个熊孩子正在往外捡鸡蛋,所以到头来,篮子里还是没有鸡蛋。
遇到这种情况怎么办呢?那就是你要告诉这个孩子:等我把鸡蛋全捡到篮子里之后