战斧 发表于 2013-8-20 15:22

游戏中怎么弹出按钮啊

我想写个脚本,就是按下ESC键之后弹出一个退出按钮。自己写了一个。。。不知到哪里错了啊{:5_390:}
function OnGUI()
{
   if(Input.GetKeyDown(KeyCode.Escape))
   {
    if( GUI.Button(Rect(0,0,200,100),"退出"))
      {
   Application.Quit();
      }
   }
}
这个代码没有报错,但是运行后按ESC并没有出现按钮,但如果把5~8行改成 print(“退出”); 却可以输出退出这个字符串。
说一下我的检测吧,因为以前没学过JS,都是现在按逻辑关系猜得代码,发现即使把5~8行换成GUI.Button(Rect(0,0,200,100),"she"); 也不会出现按钮。。{:soso_e117:} 0,0,200,100这个坐标检测了,在界面内没问题,但是按钮怎么没出现呢?

资源大湿 发表于 2013-8-20 22:13

        function OnGUI() {

                if (GUI.Button(Rect(10,70,50,30),"Click"))
                        Debug.Log("Clicked the button with text");
        }

战斧 发表于 2013-8-20 23:40

小米 发表于 2013-8-20 22:13 static/image/common/back.gif
function OnGUI() {

                if (GUI.Button(Rect(10,70,50,30),"Click"))


你这是?什么意思哦,没看明白,是在回答我的问题吗?

fanyc1987 发表于 2013-8-26 01:49

战斧 发表于 2013-8-20 23:40 static/image/common/back.gif
你这是?什么意思哦,没看明白,是在回答我的问题吗?

if(Input.GetKeyDown(KeyCode.Escape))判断是否按下了ESC,只有当ESC按下的瞬间才返回True, 执行if中的语句。所以,要实现你所要的效果,需要一个外部变量来记录是否按下了ESC,然后再通过该变量来执行if中的语句。

unitydelphi 发表于 2013-9-2 17:32

我感到一是把down改成UP试试,还有查一下INPUT设置问题,我也是才学,不对之处望见谅。

luckzzs 发表于 2017-3-18 21:13

楼主是超人

KenChen 发表于 2017-3-18 21:21

顶顶多好

jia1009 发表于 2017-3-18 21:58

很好哦

deekinfo 发表于 2017-3-18 21:23

不错不错

借你的孤单 发表于 2017-3-18 21:25

LZ真是人才
页: [1]
查看完整版本: 游戏中怎么弹出按钮啊