我正在尝试使用统一和Metaio sdk的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++;
}
}
动画不是一步一步播放的。 它以不同的顺序播放..
任何人都可以帮助我 或者请指导我弄错的地方。 我是Unity和AR开发的新手
我得到了正确的鼠标事件。 是动画或鼠标点击的问题.. 请帮忙..
答案 0 :(得分:0)
谢谢bl0z0, 我已经在OnGUI()函数中编写了这段代码。
我终于解决了我的问题.. 我没有理由背后的原因。
问题在于可变电流步骤, 当我做的时候
curretnStep++;
它增加了2而不是1.(仅在Epson Moverio中) 所以它没有采取适当的开关案例和动画播放错误。
答案 1 :(得分:0)
我真的不建议使用OnGUI,因为它对于移动开发来说很重要,你可以做的就是使用一个标志,当你播放动画时它会消失,只有当你播放的动画是完了。