![](/img/trans.png)
[英]Unity issues with Oculus OVRCamera and GUI Texture not visible
[英]Unity - Gui Button issues (Android)
我是 Unity 的新手,我正在为 android 创建我的第一个游戏,作为一个游戏。 我有这个游戏,你可以通过按一个按钮来使用提升。 玩家可以在此过程中获得多个提升。
目前,我正在使用此代码来使用提升:
public void OnGUI()
{
if (GUI.RepeatButton(new Rect(20, Screen.height - 150, Screen.width/10, Screen.width/10), boostButtonIcon))
{
pressedButton = true;
//do boost stuff
}
else
{
pressedButton = false;
}
}
哪个工作得很好,除非我在手机上测试它,并且我收集了 4 个提升,所有的提升都将一次性使用。
我也尝试过 GUI.Button 而不是 GUI.RepeatButton,但如果我使用它,则没有任何效果。
我做错了什么还是有更好的方法?
这很正常,因为每帧都会调用OnGUI
。 您应该检查最后一个值是否为真,这意味着用户没有按下按钮,只是按住了按钮。 尝试这个:
if (GUI.RepeatButton(new Rect(20, Screen.height - 150, Screen.width/10, Screen.width/10), boostButtonIcon))
{
if (!pressedButton)
{
//do boost stuff
}
else pressedButton = true;
}
希望我有所帮助!
我找到了一次性使用所有提升的原因,我使用的是 RepeatButton 而不是 Button。 尽管一开始这不起作用,但我将其与 (&& boosts > 0) 结合使用,现在可以完美运行:)
public void OnGUI()
{
if (GUI.Button(new Rect(20, Screen.height - 150, Screen.width/10, Screen.width/10), boostButtonIcon) && boosts > 0)
{
useBoostSound.Play();
rigidbody.AddForce(boostVelocity, ForceMode.VelocityChange);
boosts -=1;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.