原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2019/1102/693.html
unity3d如何播放帧动画,我写的这种办法比拟费事。得一张一张图片的往数组里拖,合适图片较少的帧动画。
手机App外包效果如下:
上代码吧:
using UnityEngine;
using System.Collections;
public class play : MonoBehaviour {
public GameObject startscene;//页面
public GameObject selectscene;
public float animSpeed = 10;//1秒播放10帧图片
private float animTimeInterval = 0;//每一帧的时间距离
public SpriteRenderer lantiao;//渲染器
public Sprite[] lantiaoSpriteArray;//创立精灵数组
private int lantiaoIndex = 0;//当前播放的帧的索引
private int lantiaoLength = 0;//数组长度
private float lantiaoTimer = 0;//计时器
public bool m_bpress; //能否按下
// Use this for initialization
void Start () {
animTimeInterval = 1 / animSpeed;//每一帧的时间距离
lantiaoLength = lantiaoSpriteArray.Length;
}
void OnPress(bool isPressed)
{
print("press");
if (isPressed)
{
m_bpress = isPressed;
}
else
{
m_bpress = isPressed;
}
}
// Update is called once per frame
void Update () {
if (m_bpress)
{
print("m_bpress:" + m_bpress);
lantiaoTimer += Time.deltaTime;
if (lantiaoTimer > animTimeInterval)
{
print("in if");
lantiaoTimer -= animTimeInterval;//计时器减去App开发培训一个周期的时间
lantiaoIndex++;//自动播放下一帧
if (lantiaoIndex >= lantiaoLength)
{
startscene.SetActive(false);
selectscene.SetActive(true);
}
lantiaoIndex %= lantiaoLength;//判别索引能否超越长度
lantiao.sprite = lantiaoSpriteArray[lantiaoIndex];
}
}
else
{
lantiao.sprite = lantiaoSpriteArray[0];
lantiaoIndex = 0;
}
}
}
上篇:上一篇:一个摄像机控制类的总结
下篇:下一篇:Unity中绕恣意轴恣意角度旋转向量