国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Unity3D制作序列幀動畫的方法

2020-01-24 00:09:34
字體:
供稿:網(wǎng)友

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

一.動畫機(jī)

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

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

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

Unity自帶的動畫機(jī)播放序列幀動畫很簡單也很方便,但是有一定的局限性。因為我們不能很方便的控制動畫的進(jìn)程以及一些我們的要求。(雖然也可以,但是還是需要寫代碼,然后還要操控動畫機(jī),太費勁)。下面就介紹完全用代碼控制動畫播放的方法。

二.代碼控制

    這個方法完全用代碼實現(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)我們需要在整個動畫播放完之后 重復(fù)播放后面的部分 就可以展現(xiàn)我們純代碼播放的自由性  if (index > AnimationAmount - 1)  {  index = 50;  }  image.sprite = animationSprites[index];  index++;  yield return new WaitForSeconds(0.03f);//等待間隔 控制動畫播放速度 } }}

效果圖如下:

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 商洛市| 康定县| 方山县| 罗田县| 水富县| 比如县| 广水市| 卢龙县| 长武县| 扬州市| 乌兰县| 黄浦区| 红原县| 太仓市| 茶陵县| 临夏市| 抚顺市| 鄂托克旗| 如皋市| 贵德县| 姚安县| 海阳市| 池州市| 汉阴县| 东宁县| 沾益县| 乐清市| 长沙市| 扶风县| 沈阳市| 保靖县| 晋宁县| 澄城县| 昭觉县| 松江区| 富源县| 湘潭县| 台安县| 香格里拉县| 东光县| 大邑县|