- 最后登录
- 2018-6-29
- 注册时间
- 2011-7-1
- 阅读权限
- 20
- 积分
- 359
- 纳金币
- 335582
- 精华
- 0
|
首先:按一下ESC出菜单,再按一下ESC隐藏菜单。这里按两次ESC,代码怎么写呢?
一般设定按键功能也就是Input.GetKeyDown(KeyCode.Escape)。
那电脑怎么知道你按一下是隐藏还是要显示呢?。
这里就需要一个判断。if(menuShow==false)。注意是两个等号啊。这表示电脑判断,
(就这个==搞个我一上午才知道。。。没语言基础。。郁闷)
然后出现的问题就是菜单能显示了。。但是镜头和鼠标一起动,哇,点个按钮。看得头都晕了,要解决这个问题。。我去官方论坛上找。。看了N多篇帖子,忽然注意到,First Person Controller这个控制mouse LOOK的X轴坐标,底下的Main Camera,控制的是Y坐标,于是把写的JS分别放到这两个上就OK了。
这时候发现,控制镜头的时候鼠标指针也出现了(我也不知道为什么。。。)在加个
Screen.showCursor =***e/false 这种情况就OK了。
其实还有点小问题,我想把鼠标出现的时候显示在屏幕中间,这样比较好点按钮,也就是光标定位的问题。
最后,加点时间停止和镜头模糊特效,就很完美啦。
private var menuShow:boolean;
function Start(){
menuShow=false;
Screen.showCursor = false;
}
function Update (){
if(Input.GetKeyDown(KeyCode.Escape)){
if(menuShow==false){
menuShow=***e;
GetComponent (MouseLook).enabled = false;
Screen.showCursor = ***e;
}
else if (menuShow==***e){
menuShow=false;
GetComponent (MouseLook).enabled = ***e;
Screen.showCursor = false;
}
}
}
function OnGUI(){
if(menuShow==false){
return;
}
else if (menuShow==***e){
if(GUI.Button(Rect(Screen.width/2 - 30, Screen.height/2-50,60,30),"Restar")){
Application.LoadLevel(0);
menuShow=false;
}else if(GUI.Button(Rect(Screen.width/2 - 30, Screen.height/2-10,60,30),"ESC")){
Application.Quit();
}
}
} |
|