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

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

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


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

查看所有标签

猜你喜欢:

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

Ruby on Rails电子商务实战

Ruby on Rails电子商务实战

Christian Hellsten、Jarkko Laine / 曹维远 / 人民邮电出版社 / 2008-4 / 49.00元

《Ruby on Rails电子商务实战》全面讲解了使用Ruby on Rails创建产品级应用程序的过程。书中通过演示构建网上书店的全过程,先后介绍如何使用如TDD的敏捷实践,启动一个项目并建立良好稳定的基础,如何深入Ruby on Rails,实现诸如将应用程序翻译成各种语言对产品进行调试等的普遍需求。其中用到的主要技术包括Ajax、聚合、设置标签和国际化等,还介绍了如何使用ActiveRec......一起来看看 《Ruby on Rails电子商务实战》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器