资源描述:
《Custonmization定制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Custonmization定制CustomizingyourGUIControls用户定制能起作用的控制是你的游戏中所必须的,而且这些控制的外表从游戏的审美角度也是相当重要的。在UnityGUI中,你可以在很多细节上调整控制端。控制端外表是通过GUIStyles来规定的,如果你创建一个没有定义外表的控制端,Unity的默认样式将会应用,这种样式往往被用于快速创建游戏的模式。如果你需要大量的不同的GUI样式,你可以在单独的GUI皮肤中定义它们,GUI皮肤是GUI样式的合集。GUI样式是怎么改变GUI控
2、制端外表的GUI样式的设计像WEB浏览器中的层叠式样式表(CSS),很多不同的CSS样式都适合,包括不同的独立样式,分为内容和外表。当控制端定义内容,样式定义外观,这样就可以让你创建一个类似正常按钮的棒形按钮。两种棒形控制的不同皮肤和样式之间的不同点像早先说的一样,GUI皮肤是GUI样式的合集,样式定义了GUI控制的外表,如果你像用一个样式,那么你可以不需要用皮肤就能实现。在检视图中一个单独的GUI样式在检视图中单独的GUI皮肤,注意,它包括很多GUI样式WorkingwithStyles通过样式来实
3、现所有的GUI控制函数都有一个最后任选参数:GUI样式用来显示控制,如果这项被省略,就会用Unity的默认样式,这在内部通过申请一串控制类型来工作,所以GUI.Button()利用“按钮”的默认样式,GUI.Toggle()利用“棒形按钮”的默认样式,等等。你可以不管默认的GUI样式,同时最后参数来指定它。/*OverridethedefaultControlStylewithadifferentstyleintheUnityGUIdefaultStyles*/functionOnGUI(){//Ma
4、kealabelthatusesthe"box"GUIStyle.GUI.Label(Rect(0,0,200,100),"Hi-I'malabellookinglikeabox","box");//Makeabuttonthatusesthe"toggle"GUIStyleGUI.Button(Rect(10,140,180,20),"Thisisabutton","toggle");}这个控制是由示例代码创建的MakingapublicvariableGUIStyle创建一个发布的可变的GUI样式
5、当你发布一个GUI样式变量,所有的元素样式会在检阅窗口中显示,你可以在那里编辑所有的不同值。/*OverridingthedefaultControlStylewithoneyou'vedefinedyourself*/varcustomButton:GUIStyle;functionOnGUI(){//Makeabutton.WepassintheGUIStyledefinedaboveasthestyletouseGUI.Button(Rect(10,10,150,20),"IamaCustomB
6、utton",customButton);}Changingthedifferentstyleelement改变不同的样式元件当你申明一个GUI样式时,你可以在检阅窗口中修改样式,你可以定义大量的状态,应用到任何控制的样式上。由描述,由游戏物体为基础可以修改样式任何的控制状态在纹理色应用前必须确定一个背景色。GUI样式的更多信息,请参照GUIStyleComponentReferencepage.WorkingwithSkins通过皮肤实现在更复杂的GUI系统中,往往在一个地方创建样式群,这就是GUI
7、皮肤所作的工作。一个GUI皮肤包括许多不同的样式,必须对GUI控制提供一个完全的翻新。CreatinganewGUISkin创建一个新的GUI皮肤创建一个GUI皮肤,在project文件夹菜单栏中选择Assets->Create->GUISkin,选择它来查看检阅窗口所有的GUI样式。ApplyingtheskintoaGUI把皮肤应用到GUI上在你的OnGUI()函数中,把你创建的皮肤应用到GUI皮肤上。/*Makeapropertycontainingareferencetotheskinyouw
8、anttouse*/varmySkin:GUISkin;functionOnGUI(){//Assigntheskintobetheonecurrentlyused.GUI.skin=mySkin;//Makeabutton.Thiswillgetthedefault"button"stylefromtheskinassignedtomySkin.GUI.Button(Rect(10,10,150,20),"SkinnedButton");}你可以转换皮