Unity - Gui Button问题(Android)

时间:2015-06-09 13:42:23

标签: c# android button unity3d

我是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,但是如果我用它就没什么用。

我做错了什么还是有更好的方法?

2 个答案:

答案 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;
                } 
    }