最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity3D制作序列幀動畫的方法

 更新時(shí)間:2020年04月17日 14:09:33   作者:qq_33994566  
這篇文章主要為大家詳細(xì)介紹了Unity3D制作序列幀動畫的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

當(dāng)我們需要制作動態(tài)炫酷科技感很強(qiáng)的UI時(shí),美術(shù)一般會給我們提供一些序列圖,這時(shí)候我們只需在程序里實(shí)現(xiàn)序列動畫。

一.動畫機(jī)

unity自帶的幀動畫機(jī)很方便,我們首先選擇所要播放序列幀動畫的Image,然后在Window下選擇Animation,會彈出一個(gè)動畫制動的界面,我們選擇Create,然后進(jìn)入如下界面:

我們按照如下添加動畫控制的屬性,

然后將我們美術(shù)給我們的序列圖(要設(shè)置成2DandUI模式哦)拖入到動畫幀面板里。

Unity自帶的動畫機(jī)播放序列幀動畫很簡單也很方便,但是有一定的局限性。因?yàn)槲覀儾荒芎芊奖愕目刂苿赢嫷倪M(jìn)程以及一些我們的要求。(雖然也可以,但是還是需要寫代碼,然后還要操控動畫機(jī),太費(fèi)勁)。下面就介紹完全用代碼控制動畫播放的方法。

二.代碼控制

這個(gè)方法完全用代碼實(shí)現(xiàn),不需要在去操作一下動畫機(jī)了。代碼如下:

public class Test : MonoBehaviour {
 
 [SerializeField]
 private Image image;
 [SerializeField]
 private List<Sprite> animationSprites = new List<Sprite>();
 
 
 private int AnimationAmount { get { return animationSprites.Count; } }
 public void PlayAnimation()
 {
 if (image == null) image = GetComponent<Image>();
 StartCoroutine(PlayAnimationForwardIEnum());
 }
 
 private IEnumerator PlayAnimationForwardIEnum()
 {
 int index = 0;//可以用來控制起始播放的動畫幀索引
 gameObject.SetActive(true);
 while (true)
 {
 //當(dāng)我們需要在整個(gè)動畫播放完之后 重復(fù)播放后面的部分 就可以展現(xiàn)我們純代碼播放的自由性
 if (index > AnimationAmount - 1)
 {
 index = 50;
 }
 image.sprite = animationSprites[index];
 index++;
 yield return new WaitForSeconds(0.03f);//等待間隔 控制動畫播放速度
 }
 }
}

效果圖如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

永川市| 富平县| 景宁| 四川省| 桂东县| 甘德县| 紫金县| 玛纳斯县| 旬阳县| 平南县| 天祝| 五常市| 漳平市| 漾濞| 保康县| 凌海市| 牡丹江市| 乌苏市| 迁安市| 邯郸市| 丰镇市| 西城区| 宁海县| 邢台县| 盐边县| 长岛县| 五大连池市| 瑞金市| 高阳县| 彭山县| 运城市| 五家渠市| 罗田县| 于都县| 聂荣县| 通化县| 芒康县| 沙田区| 武穴市| 普格县| 定边县|