纳金网
标题:
Unity中GUITexture淡出淡入控制
[打印本页]
作者:
.
时间:
2013-1-16 20:43
标题:
Unity中GUITexture淡出淡入控制
开发环境Window7Unity3D 3.4.1MB525defy Android 2.2.1 这次羽化送上的是帮别人写的一个小脚本,作用是控制GUITexture的淡出淡入,虽然不知道这位网友用来干什么,既然她有需求,羽化以后也可能用得上,就简单帮她写了一个,这里拿出来给大家分享下,没经过优化,羽化准备以后再改写。 本次学习: 1. GUITexture淡出淡入控制脚本2. Unity3D MMO游戏人物制作初步研究(附送--) 1. GUITexture淡出淡入控制脚本这次脚本很简单,直接贴出来了,其实做法很多,羽化用了一个很讨巧的方法而已,若有什么错误请各位看官指出- - Fade.js只能用在GUITexture控件上◦var WaitTime : float = 10; // 图片显示时间
◦var Speed : float = 0.01; //出现和消失速度
◦var time : float = 2; //淡出淡入间隔时间
◦var Alpha : float = 0.8; //显示图片最终透明度
◦var stop : boolean = false; //暂停或者开始运行时是否运行
◦var Pictures : Texture2D[]; //显示图片数组
◦var x : float[];//图片数组对应X
◦var y : float[];//图片数组对应Y
◦
◦private var Fade : boolean;
◦private var rise : boolean;
◦private var i : int;
◦private var save : double;
◦
◦function Start()
◦{
◦ guiTexture.texture = Pictures
;
◦ guiTexture.pixelInset.x = x
;
◦ guiTexture.pixelInset.y = y
;
◦ guiTexture.pixelInset.height = Pictures
.height;
◦ guiTexture.pixelInset.width = Pictures
.width;
◦ Fade = ***e;
◦ rise = ***e;
◦ Create.create = ***e;
◦ save = 0.0;
◦ i = 0;
◦}
◦
◦function Update()
◦{
◦ if(!Create.create)
◦ {
◦ Destroy(gameObject);
◦ }
◦ if(Input.GetKeyDown(KeyCode.Space))
◦ {
◦ stop = !stop;
◦ }
◦ if(!stop)
◦ {
◦ if(Fade)
◦ {
◦ FadeIn();
◦ }
◦ else
◦ {
◦ if(Time.time > save + WaitTime)
◦ {
◦ FadeOut();
◦ }
◦ }
◦ }
◦}
◦
◦//淡入
◦function FadeIn()
◦{
◦ if(guiTexture.color.a < Alpha)
◦ {
◦ guiTexture.texture = Pictures
;
◦ guiTexture.pixelInset.x = x
;
◦ guiTexture.pixelInset.y = y
;
◦ guiTexture.pixelInset.height = Pictures
.height;
◦ guiTexture.pixelInset.width = Pictures
.width;
◦ guiTexture.color.a += Speed;
◦ }
◦ yield WaitForSeconds(time);
◦ if(rise && !stop)
◦ {
◦ Fade = false;
◦ rise =false;
◦ i++;
◦ }
◦}
◦
◦//淡出
◦function FadeOut()
◦{
◦ if(guiTexture.color.a > 0)
◦ {
◦ guiTexture.color.a -= Speed;
◦ }
◦ yield WaitForSeconds(time);
◦ if(!stop)
◦ {
◦ Fade = ***e;
◦ rise = ***e;
◦ save = Time.time;
◦ if(i == Pictures.Length)
◦ {
◦ Destroy(gameObject);
◦ }
◦ }
◦}
这种方法允许效率并不高,还有很大的改良空间,但使用上完全可以应付各种需求。每个参数的作用羽化也有备注,这里Pictures,X,Y的Size必须一致,其他参数可以自行更改,要不然会报错哦- - 再者这里的X,Y是以屏幕中央为中点的,所以这里写得不够智能,大家可更具需求更改。 2. Unity3D MMO游戏人物制作初步研究(附送- -)与新来的3D美术同事研究了一个星期的人物制作方案,最终我们决定是使用换贴图和Mesh的方法,羽化前面的文章中有介绍过人物换装,但这种方法只能用在一些外部装饰物上,至于有蒙皮的身体换Mesh就会报错,所以这里身体上准备制作多个Mesh,适应各种不同身体装备,当然其中只有一个Mesh是Enable的,这里就需要羽化写代码控制了,其实在魔兽世界中也应该是用同种方式,但魔兽90%的装备只是换贴图(羽化的85法师和战士就是典型的例子- -),真正换Mesh身体的估计只有那些紫色装备,所以这样能节省很多资源,这只是初步研究的方案,以后若有机会羽化会写份详细的人物制作经验分享给大家~ ~ 工程地址:http://dl.dbank.com/c09zk82xug
【来源:互联网】
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5