我是Unity的新手,我正在创建我的第一款Android游戏,作为一个游戏。我有这个游戏,您可以通过按下按钮使用提升。玩家可以在此过程中获得多次提升。
此时,我正在使用此代码来使用提升:
<video controls>
<source src="somevideo.webm" type="video/webm">
<source src="somevideo.mp4" type="video/mp4">
I'm sorry; your browser doesn't support HTML5 video in WebM with VP8 or MP4 with H.264.
哪种方法可以正常使用,除非我在手机上进行测试,然后收集说,4次提升,所有提升将一次性使用。
我也尝试过GUI.Button而不是GUI.RepeatButton,但是如果我用它就没什么用。
我做错了什么还是有更好的方法?
答案 0 :(得分:2)
这很正常,因为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;
}
希望我帮忙!
答案 1 :(得分:0)
我想出了我一次性使用所有提升的原因,我使用的是RepeatButton而不是Button。虽然这在一开始并没有起作用,但我将它与(&amp;&amp;&amp; boost&gt; 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;
}
}