http://blog.csdn.net/aisajiajiao/article/details/17472503
在这篇文章中我将给读者介绍Unity中的图形用户界面(GUI)编程.Unity有一个非常强大的GUI脚本API.它允许你使用脚本快速创建简单的菜单和GUI.
简介
Unity提供了使用脚本创建GUI界面的能力.在写这篇文章的时候,Unity还没有提供一套原生的可视化GUI开发工具,尽管你可能会在Unity Asset商店找到一些使用某种形式的图形化脚本编程编写GUI的工具.Autodesk Scaleform也提供了一个可以单独购买并整合进Unity的插件但这超出了这篇文章的范围.如果你对Scaleform插件的unity版本感兴趣,我推荐你看看Scaleform Unity Plugin.
Unity提供了两个主要的类来创建GUI.GUI类用于创建手动放置的GUI控件.GUILayout类用于创建自动放置的GUI控件.这两个类之间的区别将在文章后面搞清楚.
Unity也提供了GUISkin资源(asset翻译成套件?).它可以被应用于给你的GUI控件提供一种通用的的"外观和感觉".一个GUISkin只是GUIStyle对象的集合.每个GUIStyle对象定义了单个GUI控件的样式,比如按钮,标签或者文本域.
GUiText组件可被用于渲染单个的文本元素,GUITexture组件可以被用于渲染2D材质到屏幕.GUIText和GUITexture都适用于为你的游戏绘制GUI元素(就像HUD),但这些组件不适用于在游戏中绘制菜单.对于游戏中的菜单(像等级选择和选项设置页面)你应该使用GUI和GUILayout类.
这些不同的类,资源(Asset)和组件每一个本文中都会阐述
创建菜单
首先我讲述一下如何在使用GUI和GUILayout在Unity中创建菜单.我也会向你展示如何使用GUISkin和GUIStyle来自定义GUI控件的外观
OnGUI回调函数
GUI的渲染是通过创建脚本并定义OnGUI函数来执行的.所有的GUI渲染都应该在该函数中执行或者在一个被OnGUI调用的函数中执行
ButtonDemo.js
function OnGUI()
{
var buttonWidth = 100;
var buttonHeight = 50;
var buttonX = (Screen.width - buttonWidth) / 2.0f;
var buttonY = (Screen.height - buttonHeight) / 2.0f;
//在屏幕中间绘制一个button组件
if(GUI.Button(Rect(buttonX,buttonY,buttonWidth,buttonHeight),"Press Me!"))
{
//在调试控制台打印一些文字
Debug.Log("Thanks!");
}
}
脚本ButtonDemo.js将会在屏幕中间绘制一个按钮,松开按钮文字"Thanks!"就会被打印到调试控制台.
GUIContent
大多数通用控件比如按钮和标签允许你指定控件上该呈现在控件上的的文本或者材质.如果你想在一个控件上指定文本与材质,那必须使用GUIContent结构.
CUIContent结构有几个构造函数允许你创建一个带有文本,材质和tooltip的CUIContent对象.
下面的例子扩展了之前的例子,但在这个例子中按钮的内容由GUIContent结构指定.
等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等
分享到:
相关推荐
winform 编程过程中制作的一个小的程序
该部分通过多个操作实例帮助入门者快速掌握Unity引擎的各个知识点,即便是毫无编程经验的人员,都可以参照这部分内容快速学会如何使用Unity制作简单的游戏。而开发篇则为想深入了解Unity引擎开发知识以及真正从事...
该部分通过多个操作实例帮助入门者快速掌握Unity引擎的各个知识点,即便是毫无编程经验的人员,都可以参照这部分内容快速学会如何使用Unity制作简单的游戏。而开发篇则为想深入了解Unity引擎开发知识以及真正从事...
而开发篇则为想深入了解Unity引擎开发知识以及真正从事商业游戏开发的人员提供了宝贵的技术资料,其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset...
该部分通过多个操作实例帮助入门者快速掌握Unity引擎的各个知识点,即便是毫无编程经验的人员,都可以参照这部分内容快速学会如何使用Unity制作简单的游戏。而开发篇则为想深入了解Unity引擎开发知识以及真正从事...
而开发篇则为想深入了解Unity引擎开发知识以及真正从事商业游戏开发的人员提供了宝贵的技术资料,其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset...
该部分通过多个操作实例帮助入门者快速掌握Unity引擎的各个知识点,即便是毫无编程经验的人员,都可以参照这部分内容快速学会如何使用Unity制作简单的游戏。而开发篇则为想深入了解Unity引擎开发知识以及真正从事...
编程回忆—连连看雏形和GUI视频讲解
设计人员可以在运行时通过图形用户界面(GUI)或通过分别受和启发的高级编程界面以交互方式指定此映射。 DXR是可扩展的,允许将大多数Unity游戏对象用于自定义标记和渠道。 要了解更多信息,请查看下面的示例和图库...
easygui是一个用于python中非常简单、非常容易的gui编程的模块。easygui不同于其他gui生成器,因为easygui不是事件驱动的。相反,所有Gui交互都是通过简单的函数调用来调用的。easygui为与用户进行简单的gui交互提供...
Winform使用技巧,实战...详细介绍了一些Winform框架的各种功能和模块,以及如何使用Winform进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手Winform并掌握其高级特性。
课程内容:游戏与Unity发展历史概述、 3D 模型基础、 地形编辑器、光源、音频、Unity脚本程序基础、GUI、3D模型动画的导入 与基本应用、物理学模拟(初级)、碰撞盒与触发器、协程、SendMessage数据传值技术等。...
这一资源随附多个新演示场景,现在支持 Unity 2017、2018、2019 以及可编程渲染管线 (SRP)。 形状检测 – Lean Touch+ 随附灵活组件和多个示例场景,展示如何检测你亲手绘制的形状。可以部分检测绘制的形状、环形...
常规编程问题和一些有趣的东西。 新项目即将推出新的存储库! 随时为项目提出建议,解决同类问题很快就会老掉牙。 另外,这个神秘的“ GUI”是什么意思? 控制台文本是必经之路! 注意:maze.txt文件与...
分享做的一个Unity小游戏,应用了一些unity基础系统,如帧动画系统,GUI系统等。 代码方面则是常见的脚本代码基础编程,在UI的交互设计中用到了不少调用属性的方法,在游戏功能上用到了协程来控制物体生成,委托...
一些主要功能: 对“访问控制”的内置无缝支持 非常容易学习和使用,但不会失去灵活性和力量 国际标准/国际标准 对视图、模型、组件和事件的完全集中控制 - 在几分钟内实现复杂的应用程序级别更改 ... GUI 构建器
只是一个私人项目,借助MelonLoader学习Unity Engine Mods的一些基本编程。将生成的DLL放在MelonLoader Mods文件夹中。 特征-简单盒式ESP -Bone / OuijaBoard / FuseBox / EMF ESP -全亮模式-基本的Ghost信息(Ghost...
概述这个游戏引擎不是下一个Unity或Godot。 我开发它的目的是提高我的面向对象编程(OOP)技能以及对C ++中共享库和构建工具的了解。 我将不胜感激任何建设性的反馈。特征图形-静态图块图,子画面,GUI组件(标签,...