更换纹理

创建一个javascript脚本,将脚本挂在更换纹理的游戏对象上面,脚本内容如下:


var frames : Texture[]; //声明一个数组,存放贴图,声明后,在inspector会看到一个frames的数组,数组的长度可以自己填,填1,就代表只有1张图,可以把一张texture拖进去,填2就代表2张,以此类推 



var framesPerSecond = 10; //声明fps,每秒播放几帧,影响动画的速度。 


function Update() {
var index : int = (Time.time * framesPerSecond) % frames.Length; //数组的索引,根据时间改变,当前时间乘以fps与总帧数取余,就是播放的当前帧,随着update更新
renderer.material.mainTexture = frames[index]; //渲染这个贴图
}


复制代码

使用:将脚本新建保存,然后建一个cube或者平面,把脚本拖上,然后设置动画的贴图,然后play就可以测试了。


如果通过碰撞实现更换纹理,那么给要更换的对象添加OnTriggerEnter属性即可,当碰撞时设置一个boolean变量,通过update检测就可以实现碰撞的时候更换纹理了。效果如下,当角色对象走过时出现更换纹理:


更换纹理_第1张图片











你可能感兴趣的:(unity3d,动态,更换贴图)