游戏制作之路(29)创建按钮显示

栏目: 后端 · 发布时间: 7年前

内容简介:前面学习了怎么样创建文本显示,这样就可以把程序内部一些状态告诉玩家,比如角色的生命值,经验值,金钱等等,这样做还是不够的,因为游戏是交互的,还需要获取玩家的输入,常常使用按钮来获取玩家的输入,这样就可以得到用户的输入反馈,从而达到互动的目标。比如游戏刚开始时,需要用户点击菜单开始游戏,或者退出游戏等等。又或者让用户输入自己的名称,以便这个游戏适用不同用户在同一台电脑上进行。这些按钮的实现都可以在脚本中编写OnGUI()函数来实现。上面已经说了可以通过OnGUI()函数来写界面,那么把这个函数放到哪一个脚本

前面学习了怎么样创建文本显示,这样就可以把程序内部一些状态告诉玩家,比如角色的生命值,经验值,金钱等等,这样做还是不够的,因为游戏是交互的,还需要获取玩家的输入,常常使用按钮来获取玩家的输入,这样就可以得到用户的输入反馈,从而达到互动的目标。比如游戏刚开始时,需要用户点击菜单开始游戏,或者退出游戏等等。又或者让用户输入自己的名称,以便这个游戏适用不同用户在同一台电脑上进行。这些按钮的实现都可以在脚本中编写OnGUI()函数来实现。

上面已经说了可以通过OnGUI()函数来写界面,那么把这个函数放到哪一个脚本里呢?其实Unity3D没有规定放到那一个脚本,即是所有继承MonoBehaviour类脚本里都可以放入这个函数,都可以绘制界面。但是,如果一个游戏里有几千个脚本,每个脚本都显示按钮,就会比较难控制,比如那些按钮显示在什么位置,或者有重复的。为了避免有太多的OnGUI()同时作用,使得图形界面的构成难以控制,一般情况之下,应该只用一个脚本里有OnGUI()函数,然后把这个脚本绑定到场景中唯一的对象上,如果没有唯一的对象,就可以自己创建一个空对象。往往是绑定在主摄像机上面,这样就可唯一化,但不要绑定到在游戏过程中可以删除的对象上面啊!这点一定要记住,否则删除之后就没有界面了。

下面就来在OnGUI()函数里实现按钮的功能,当用户按下之后,就来让计数增加一次。先给主摄像机添加脚本文件:

游戏制作之路(29)创建按钮显示

通过上面选中A,然后再从B里添加新脚本C。这样之后,就可以在脚本里添加下面的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SampleButton : MonoBehaviour {

    private int count;
    private Rect btnRect;

	// Use this for initialization
	void Start ()
    {
        count = 0;
        btnRect = new Rect();	
	}
	
	// Update is called once per frame
	void Update ()
    {
		
	}

    //界面显示
    private void OnGUI()
    {
        btnRect.x = Screen.width / 3;
        btnRect.y = Screen.height * 2 / 5;
        btnRect.width = Screen.width / 3;
        btnRect.height = Screen.height / 5;

        if (GUI.Button(btnRect, "深圳改革开放"))
        {
            print(count);
            count++;
        }
    }
}

把代码输入到脚本里SampleButton.cs里,然后再点击运行,就看到下面的界面显示:

游戏制作之路(29)创建按钮显示

中间可以看到按钮在显示,当你点击之后,就会在左下面看到计数在增加。

到这里就学会了怎么样创建一个按钮显示。

更多学习在这里: https://blog.csdn.net/caimouse/article/details/51749579


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

启示录

启示录

[美] Marty Cagan / 七印部落 / 华中科技大学出版社 / 2011-5 / 36.00元

为什么市场上那么多软件产品无人问津,成功的产品凤毛麟角?怎样发掘有价值的产品?拿什么说服开发团队接受你的产品设计?如何将敏捷方法融入产品开发?过去二十多年,Marty Cagan作为高级产品经理人为多家一流企业工作过,包括惠普、网景、美国在线、eBay。他亲历了个人电脑 、互联网、 电子商务的起落沉浮。《启示录:打造用户喜爱的产品》从人员、流程、产品三个角度介绍了现代软件(互联网)产品管理的实践经......一起来看看 《启示录》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码