Unity3d 按钮点击相关问题。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d 按钮点击相关问题。相关的知识,希望对你有一定的参考价值。
各位大神,小弟我最近才接触Unity3d,初学者。
想问一个问题:在一个界面上有7个按钮,给这7个按钮,分别依次标号,从1-7。要求:首先,必须按顺序去点击按钮;其次,按顺序点击完相应按钮后,按钮会消失。
就这样一个功能,要如何实现啊,希望各位大神能给予一些指点,不吝赐教。小弟,不胜感激!万分感谢!
创建 脚本Assets --> Create ----> javascript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式是直接拖拽到主角节点即可。
对脚本的编写:
类及接口主要参照帮助文档,这里只介绍脚本基本结构和简单示例:
每个脚本至少都有两个函数: function Start() 可以认为是初始化 function Updata()则是每帧更新函数。
要实现对角色位置的控制移动首先要定义该角色,
首先 定义GameObject对象也就是要控制的目标: private var _MainRole:GameObject;;
在function Start() 函数中初始化该对象: inRole = GameObject.Find("MainRole"); // 从场景中查找到名叫"MainRole"的对象也就是主角。
在每帧更新时侦听键盘事件,如果按键按下W则空对象向前移动
if(Input.GetKey(KeyCode.W))
_MainRole.transform.Translate( Vector3.forward * 0.05 );
至此,就已经完成按键控制角色移动的全部过程,运行游戏就可以用按键控制角色移动。 参考技术A 首先你能把按钮绘制出来么?追问
在OnGUI函数里面定义呗
追答private int Biaoji;
private bool Finish;
void Start ()
Biaoji = 0;
Finish = false;
void OnGUI()
if (Finish == false)
if (GUI.Button(new Rect(10, 10, 30, 30), "1"))
if (Biaoji == 0)
Biaoji = 1; else
Biaoji = 0;
if (GUI.Button(new Rect(50, 10, 30, 30), "2"))
if (Biaoji == 1)
Biaoji = 2;else
Biaoji = 0;
if (GUI.Button(new Rect(100, 10, 30, 30), "3"))
if (Biaoji == 2)
Biaoji = 3; else
Biaoji = 0;
if (GUI.Button(new Rect(150, 10, 30, 30), "4"))
if (Biaoji == 3)
Biaoji = 4;
else
Biaoji = 0;
if (Biaoji == 4)
Finish = true;
字符数有限制,代码较乱,不知道满足你要求不,可以自己再改改
朋友,我的意思是:一依次,点击1号按钮后,随即消失;点击2号按钮,随即消失;点击3号按钮,随即消失;点击4号按钮,随即消失。但是,这个过程中,点击按钮的顺序必须是从小到大的。不是,四个按钮全部按顺序点击后,一起消失。能不能,再修改一下啊,谢谢了!
追答private int Biaoji; private bool[] IsShow = new bool[] false, false, false, false ;
void Start()Biaoji = 0; void OnGUI() if (IsShow[0] == false) if (GUI.Button(new Rect(10, 10, 30, 30), "1")) if (Biaoji == 0) Biaoji = 1; IsShow[0] = true; else Biaoji = 0;for (int i = 0; i < IsShow.Length; i++) IsShow[i] = false; if (IsShow[1] == false) if (GUI.Button(new Rect(50, 10, 30, 30), "2")) if (Biaoji == 1) Biaoji = 2; IsShow[1] = true; else Biaoji = 0;for (int i = 0; i < IsShow.Length; i++) IsShow[i] = false; if (IsShow[2] == false) if (GUI.Button(new Rect(100, 10, 30, 30), "3"))if (Biaoji == 2) Biaoji = 3;IsShow[2] = true; else Biaoji = 0;for (int i = 0; i < IsShow.Length; i++) IsShow[i] = false; if (IsShow[3] == false)if (GUI.Button(new Rect(150, 10, 30, 30), "4")) if (Biaoji == 3) Biaoji = 4;IsShow[3] = true; else Biaoji = 0;for (int i = 0; i < IsShow.Length; i++) IsShow[i] = false;
以上是关于Unity3d 按钮点击相关问题。的主要内容,如果未能解决你的问题,请参考以下文章
unity3d里面 ,点击一下按钮然后自动修改人物属性数据,比如说攻击力增加等等的代码怎么编写?