【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3071|回复: 0

[官方GUI] (十八)unity4.6学习Ugui中文文档-------技巧-Creating UI elements from scripting

[复制链接]
发表于 2015-4-25 12:05:30 | 显示全部楼层 |阅读模式
4、CreatingUI elements from scripting


如果您正在创建动态UI, 在游戏中UI元素在哪里出现、消失,或更改基于用户操作或其他操作,你可能需要做一个脚本,实例化新ui元素基于自定义的逻辑。


Creating a prefab of the UI element


为了能轻松地动态地实例化 UI元素,第一步是创建一个UI元素的类型的预置体,是你想要能够实例化的。设置用户界面元素,你想要它在场景中,看起来的方式,然后将该元素拖到Project View项目视图,使它变成一个预置体。


例如,一个按钮的预置体可能是一个游戏对象与Image图像组件和一个Button按钮组件和一个子游戏对象具有Text组件。您可以设置不同的根据您的需求。


你可能想知道为什么我们没有 API方法来创建各种类型的控件,包括视觉效果和一切。原因是这个方式有无限多的。如一个按钮可以setup。它可能是一个图像、文本或两者都有?也许甚至是多个图像?文本的字体、颜色、字体大小和对齐方式是什么?图像应使用什么精灵?通过让你创建一个预置和实例化的您可以设置它正是你想要的方式。如果您以后想要更改您的用户界面的外观和感觉您只可以更改预置,然后,它将会反映在您的 UI,包括动态创建用户界面。


Instantiating the UI element


UI元素的预置体都作为正常使用Instantiate方法来进行实例化。在实例化时设置UI元素的父对象是什么,它建议使用 Transform.SetParent方法设置和worldPositionStays参数设置为 false。


Positioning the UI element


通常使用[url=]RectTransform[/url]定位 UI 元素。如果 UI元素是Layout Group布局组的子对象它将自动定位和定位步骤可以跳过。


定位一个Rect Transform时很有用,首先确定它已经或应该有拉伸的任何行为不。anchorMin和 anchorMax的属性并不相同时会发生拉伸行为。


对于非拉伸的 Rect Transform,将该位置设置最容易通过设置anchoredPosition和 sizeDelta属性。AnchoredPosition指定的pivot与anchors的位置。SizeDelta同样的大小是有的时候不拉伸的情况。


对于伸展的Rect Transform,它可以是简单设置使用的offsetMin和 offsetMax的属性的位置。OffsetMin属性指定的角的相对较低的左锚点矩形的左下角。OffsetMax属性指定的角的相对上部右锚点矩形的右上角。


Customizing the UI Element


如果你动态地实例化多个 UI元素,你就会希望他们都看起来一样不太可能,这样做。无论是在菜单中的按钮,库存或别的东西的条目,你可能想要的个别项目有不同的文本或图像,当互动时做不同的事情。


这是通过获得各种组件和改变它们的属性。从脚本中如何使用 UnityEvents工作,看看关于图像和文本组件的脚本引用,。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-23 12:40

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表