在 Unity 3D 开发中 Button 控件是游戏开发中最常使用的控件之一,用户常常通过 Button 控件来确定其选择行为,当用户单击 Button 控件时,Button 控件会显示按下的效果,并触发与该控件关联的游戏功能。

在游戏中通常用作游戏界面、游戏功能、游戏设置的开关。

一般来说,按钮分两种:普通按钮和图片按钮。

普通按钮

普通按钮是系统默认显示的按钮,Unity 3D 的普通按钮背景呈半透明状态,显示白色文字,普通按钮的使用方法如下:

public static function Button(position:Rect, text:string):bool;

public static function Button(position:Rect, image:Texture):bool;

public static function Button(position:Rect, content:GUIContent):bool;

public static function Button(position:Rect, text:string, style:GUIStyle):bool;

public static function Button(position:Rect, image:Texture, style:GUIStyle):bool;

public static function Button(position:Rect, content:GUIContent, style:GUIStyle):bool;

其中,position 指按钮在屏幕上的位置以及长宽值,text 指按钮上显示的文本。

Button 控件的参数如下表所示。

参 数

功 能

参 数

功 能

position

设置控件在屏幕上的位置及大小

text

设置控件上显示的文本

image

设置控件上显示的纹理图片

content

设置控件的文本、图片和提示

style

设置控件使用的样式

下面是 Button 控件的使用案例:

1) 启动Unity 3D

创建新项目,将其命名为 button text,单击 Create 按钮,即生成一个新项目,如下图所示。

2) 在菜单中执行 File→Save Scene 命令

保存当前场景,命名为 scene,即在 Unity 3D 中创建了一个游戏场景,如下图所示。

JavaScript,即可创建 JavaScript 脚本,如下图所示。

4) 打开脚本编辑器

在 Project 面板中双击该脚本文件,打开脚本编辑器,如下图所示。

5) 输入下列脚本语句

function OnGUI(){

if(GUI.Button(Rect(0, 0, 100, 50), "click here")){

print("you have click here!");

}

}

6) 保存脚本(Ctrl+S键)

7) 将脚本与主摄像机相连

将脚本拖动到 Hierarchy 视图中的 Main Camera 对象上,这时脚本与场景中的摄像机产生了关联。

8) 测试脚本

单击 Unity 3D 工具栏上的运行按钮对脚本进行测试,如下图所示,在 Game 视图中出现了一个按钮,按钮上显示 click here,单击该按钮,在 Unity 3D 主界面底部的状态栏上输出 You have click here。

图片按钮

Button 控件除了可以显示文字以外,还可以显示贴图。

贴图是一种美化按钮的方法,开发者可以设定按钮的背景图片,比如水晶按钮、卡通按钮等。

在 Unity 3D 中实现 Button 贴图十分容易,只要将图片作为一个参数传递到 Button 函数中即可。

Button贴图方法如下:

public static function Button(position:Rect, image:Texture):bool;

public static function Button(position:Rect, image:Texture, style:GUIStyle):bool;

其中 position 为按钮在屏幕上的位置以及长宽值,image 为按钮上显示的图片。

下面是 Button 贴图的使用案例。

步骤 1):启动 Unity 3D 创建新项目,将其命名为 button。

步骤 2):在菜单中执行 File→Save Scene 命令,保存当前场景,命名为 scene,即在 Unity 3D 中创建了一个游戏场景。

步骤 3):单击 Project 视图中 create 右侧的下拉三角形,选择 JavaScript,创建 JavaScript 脚本。

步骤 4):在 Project 视图中双击该脚本文件,打开脚本编辑器,输入下列脚本语句:

var btnTexture:Texture;

var atnTexture:Texture;

function OnGUI(){

if(!btnTexture){

Debug.LogError("Please assign a texture on the inspector");

return;

}

if(!atnTexture){

Debug.LogError("Please assign a texture on the inspector");

return;

}

if(GUI.Button(Rect(Screen.width/2-50, Screen.height/2+130, 70, 70),atnTexture)){

Application.LoadLevel("play");

}

if(GUI.Button(Rect(Screen.width/2+30, Screen.height/2+130, 70, 70),btnTexture)){

Application.LoadLevel("exit");

}

}

步骤 5):保存脚本(Ctrl+S 键)。

步骤 6):将脚本与主摄像机相连。

步骤 7):单击主摄像机,在 Inspector 属性面板中添加纹理图片。

步骤 8):单击 play 按钮测试效果,可以看见按钮已经换成了二维卡通图片的形式,如下图所示。

button组件 untiy_Unity 3D Button控件相关推荐

  1. button组件 untiy_Unity自定义Button组件Transition

    Unity自带的Button组件有三种不同的Transition(过渡)选项,分别是None, ColorTint, SpriteSwap, Animation.现在想自定义其他功能,比如在不同的状态 ...

  2. 修改安卓默认的系统button样式,以及其它系统控件的默认样式

    先介绍下修改原理:首先打开位于android.widget包下面的Button.java文件,这里有一句关键的代码如下: public Button(Context context, Attribut ...

  3. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件

    怎么在vue中利用递归组件实现一个树形控件 发布时间:2021-06-11 17:26:48 来源:亿速云 阅读:81 作者:Leah 本篇文章为大家展示了怎么在vue中利用递归组件实现一个树形控件, ...

  4. 第31讲 UI组件之 Gallery画廊控件

    第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...

  5. mysql抽屉图标_React Native自定义组件实现抽屉菜单控件效果

    一.需求分析 原生开发中,自定义View可谓是屡见不鲜的事情,往往系统的控件总不能满足现实的需求.五花八门的产品设计需要我们做出不同的View.关于自定义View的内容网上已经有很多的博文,本篇博客要 ...

  6. 组件、插件、控件的区别

    控件:是编程中用到的,按钮就算是一个控件,窗口也是等等 组件:是软件的一部分.软件的组成部分. 插件:网页中用到的,flash插件,没有它浏览器不能播放flash. 首先范围最广的应该是组件,英文co ...

  7. 力控报警转储 mysql_力控组态软件后台组件报警中心的控件方法

    力控组态软件ForceControl V7.0后台组件报警中心的控件方法 AckGroup(int nGroup) 描述: 确认组报警 返回值: int(0 失败,1 成功 ) 参数: nGroup ...

  8. 一款增强的3D carousel控件

    3D carousel控件一览 3d carousel是常用于slide图文展示的效果,通过css transform修饰相邻的几张图文,用简单的代价呈现3d场景效果. 经过比较,收费控件中我比较欣赏 ...

  9. android button imagebutton 区别,ImageView子控件,ImageButton和ZoomButton使用

    原标题:ImageView子控件,ImageButton和ZoomButton使用 上一期我们学习了ImageView的使用,那么本期来学习ImageView的两个子控件ImageButton和Zoo ...

  10. C# Button 按钮触发清空textBox控件内容

    清除textBox控件文本框内的方式两种: 第一种: textBox1.Clear(); 第二种: textBox3.Text = ""; private void Clear_b ...

最新文章

  1. ovirt官方安装文档 第八章
  2. Center OS 5.5 下安装 和 配置 Tomcat 7
  3. JSON In Code
  4. 编译问题二 /snmplib/tools.c:920 undefined reference to `clock_gettime' 问题解决
  5. Vision Transformer 论文
  6. jQuery中ajax的触发时机,javascript - 如何在启动Ajax查询的jQuery中触发方法change() - 堆栈内存溢出...
  7. kafka metric java,jmx_exporter+prometheus+grafana实现kafka metric监控
  8. GIT的PUSH指令
  9. Spring Boot 如何解决多个定时任务阻塞问题?
  10. Ubuntu开启Mongodb 外网访问
  11. w ndows10电脑配置看哪里,win10对电脑配置要求及如何查看电脑配置
  12. JavaScript(二)数据类型
  13. https协议为什么比http协议更加安全
  14. JAVA - 根据文件链接将文件下载保存到本地
  15. abab的四字成语_abab的四字词语成语
  16. 红贝应用架构配置式应用开发示例
  17. Problem G: 小勇学分数
  18. 亚马逊获20亿美元信用额度:有助新业务投资
  19. 电脑只有飞行模式,不显示任何wifi信号
  20. android手机的语音助手在哪里设置,华为语音助手在哪设置 华为语音助手唤醒具体步骤...

热门文章

  1. 基于slate构建文档编辑器
  2. 在线留痕阅卷系统功能说明及其演示
  3. java实例化对象的四种方式
  4. 傅里叶变换和拉普拉斯变换
  5. oppo手机快速截屏的方法
  6. 逐行分析jQuery源码
  7. ASCII码字符对照表 阿斯克码表
  8. 微信小程序下载API接口调用异常常见解决方法
  9. java 中float所占字节_Java语言中,float类型所占存储空间为【】个字节
  10. android modbus 串口,手机Modbus 安卓Modbus调试软件