我正在使用unity和Metaio尝试使用AR动画。我必须一步一步地播放动画,当我尝试下面的脚本时,它在ipad和android移动设备上工作得很完美。
Variable declaration
********************
public GUIStyle buttonTextStyle;
public Texture aTexture;
private int curretnStep=1;
GameObject gameObject;
float SizeFactor;
Texture2D texture;
Animator CMTD42M ;
bool isplaystarted = false;
int[] videolengtharray = new int[6];
int CurrentFrame=0;
bool islocked = false;
*************
if (GUIUtilities.ButtonWithText (new Rect (Screen.width - 160, Screen.height - 100, 160, 100), "Next", null, buttonTextStyle)) {
CMTD42M.speed=1;
switch (curretnStep) {
case 1:
CMTD42M.Play ("First");
break;
case 2:
CMTD42M.Play ("Second");
break;
case 3:
CMTD42M.Play ("Third");
break;
case 4:
CMTD42M.Play ("Four");
break;
case 5:
CMTD42M.Play ("Five");
break;
case 6:
CMTD42M.Play ("Six");
break;
}
curretnStep++;
//isplaystarted = true;
}当我在Epson Moverio(眼镜)上运行这个脚本时,它不接受按钮单击事件,所以我使用了onMouseButtonDown,如下脚本所示:-
if (Input.GetMouseButtonDown (0)) {
if ((new Rect (Screen.width - 160, Screen.height - 100, 160, 100)).Contains (Event.current.mousePosition))
{
CMTD42M.speed=1;
switch (curretnStep) {
case 1:
CMTD42M.Play ("First");
break;
case 2:
CMTD42M.Play ("Second");
break;
case 3:
CMTD42M.Play ("Third");
break;
case 4:
CMTD42M.Play ("Four");
break;
case 5:
CMTD42M.Play ("Five");
break;
case 6:
CMTD42M.Play ("Six");
break;
}
curretnStep++;
}
}动画没有一步一步地播放。它按不同的顺序播放。
ANybody能帮我吗,或者请指点我犯了什么错。我是团结与AR发展的新手。
我明白鼠标事件的意义了。是动画中的问题还是鼠标单击中的问题。请帮忙..。
发布于 2014-09-03 19:06:57
显然,这款设备(爱普生·莫维奥)的帧率比标准设备(手机,我猜那些眼镜是运行在安卓系统上的)要高,而且你在Input.GetMouseButtonDown(0)上两次成功的事实让我觉得这实际上是一个错误(对那个平台而言)。
我不建议使用OnGUI,因为它对于移动开发来说很重,您可以做的是使用一个标志,它在播放动画时发出,只有在播放完动画后才会继续。
https://stackoverflow.com/questions/25618031
复制相似问题