Unity3d 按钮点击相关问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d 按钮点击相关问题。相关的知识,希望对你有一定的参考价值。

各位大神,小弟我最近才接触Unity3d,初学者。
想问一个问题:在一个界面上有7个按钮,给这7个按钮,分别依次标号,从1-7。要求:首先,必须按顺序去点击按钮;其次,按顺序点击完相应按钮后,按钮会消失。
就这样一个功能,要如何实现啊,希望各位大神能给予一些指点,不吝赐教。小弟,不胜感激!万分感谢!

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用JAVA脚本.
创建 脚本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 ugui 怎么判断哪个按钮被点击

Unity3D点击按钮让物体变透明

unity3d里面 ,点击一下按钮然后自动修改人物属性数据,比如说攻击力增加等等的代码怎么编写?

如何在unity3d中创建最简单的按钮

unity3d 点击一下按钮,然后产生4个按钮,再点击原按钮,这四个按钮隐藏

unity3d 怎么做右键点击