游戏制作之路(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


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

查看所有标签

猜你喜欢:

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

How to Solve It

How to Solve It

Zbigniew Michalewicz、David B. Fogel / Springer / 2004-03-01 / USD 59.95

This book is the only source that provides comprehensive, current, and detailed information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic pro......一起来看看 《How to Solve It》 这本书的介绍吧!

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

在线压缩/解压 HTML 代码

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

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具