Unity3D制作序列帧动画的方法
作者:qq_33994566 发布时间:2022-07-04 05:45:33
标签:Unity3D,序列帧
当我们需要制作动态炫酷科技感很强的UI时,美术一般会给我们提供一些序列图,这时候我们只需在程序里实现序列动画。
一.动画机
unity自带的帧动画机很方便,我们首先选择所要播放序列帧动画的Image,然后在Window下选择Animation,会弹出一个动画制动的界面,我们选择Create,然后进入如下界面:
我们按照如下添加动画控制的属性,
然后将我们美术给我们的序列图(要设置成2DandUI模式哦)拖入到动画帧面板里。
Unity自带的动画机播放序列帧动画很简单也很方便,但是有一定的局限性。因为我们不能很方便的控制动画的进程以及一些我们的要求。(虽然也可以,但是还是需要写代码,然后还要操控动画机,太费劲)。下面就介绍完全用代码控制动画播放的方法。
二.代码控制
这个方法完全用代码实现,不需要在去操作一下动画机了。代码如下:
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)
{
//当我们需要在整个动画播放完之后 重复播放后面的部分 就可以展现我们纯代码播放的自由性
if (index > AnimationAmount - 1)
{
index = 50;
}
image.sprite = animationSprites[index];
index++;
yield return new WaitForSeconds(0.03f);//等待间隔 控制动画播放速度
}
}
}
效果图如下:
来源:https://blog.csdn.net/qq_33994566/article/details/80234260


猜你喜欢
- SharedPreferences用于在开发软件的时候提供软件参数设置,其背后使用的是xml文件存放数据,文件保存在/data/data/&
- 作为.NET进阶内容的一部分,垃圾回收器(简称GC)是必须了解的内容。本着“通俗易懂”的原则,本文将解释CLR中垃圾回收器的工作原理。基础知
- Zookeeper和Eureka哪个更好?1、CAP理论一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求C:数据一致性
- arthas能够更改日志的级别,下面是logger的用法查看logger信息,更新logger level查看所有logger信息logge
- 我之前写了一篇关于美团网,大众点评的购买框效果的文章Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果,我自己感
- 这里介绍两种方法,一种是Spannable,一种是Html.fromHtml(通过html标签来改变),实际中看您使用哪种方便选择使用即可1
- 一、引言那么那么那么今天来说下MP中强大的条件查询功能。本章是基于上个案例来讲的:MyBaits-Plus 快速入门案例二、具体操作首先来说
- 这篇文章主要介绍了Java List集合排序实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 一、导入相关jar包,pom依赖如下: <dependency> <groupId>org
- 本文实例讲述了Java Web项目部署在Tomcat运行出错与解决方法。分享给大家供大家参考,具体如下:1、在部署Java Web项目的过程
- 一般而言,在传统的VB6中父子窗体(诸如“闪屏”窗体是“父窗体”加载内容,然后启动自动关闭,启动主窗体,是子窗体)的交互中,我们只需按照这样
- 简介相机模块库,自定义相机,通过简单的调用即可实现拍照、图片裁剪、录像及录像抓拍功能;实现图片压缩,减少图片体积;自定义相机可避免使用系统相
- Java中避免NullPointerException的方法总结在字符串常量上调用equals// good"string lit
- 1、注意事项众所周知,对一个文件进行读写操作时,我们需要创建对应的输入流和输出流但需要注意的是,读写操作不能同时进行(边读边写),即不能同时
- GC简介何为GCGC(Garbage Collection)称之为垃圾回收,是对内存中的垃圾对象,采用一定的算法进行内存回收的一个动作。比方
- 解决库存扣减及订单创建时防止并发死锁的问题在我们日常开发的过程可有会遇到以下错误事务(进程 ID 82)与另一个进程被死锁在 锁 资源上,并
- 采用继承Thead类实现多线程:优势:编写简单,如果需要访问当前线程,只需使用this即可,无需使用Thead.currentThread(
- 介绍一款简洁实用的图片编辑器,纯dart开发。支持:涂鸦、旋转&翻转、马赛克、添加文字,及自定义ui风格。功能演示涂鸦旋转&
- 类注解@component 标注类,泛指各种组件,类不属于各种分类的时候,用它做标注。@Service 标注类,声明该类为业务层组件,用于处
- 最终版iTextSharp 5.5: https://github.com/itext/itextsharp ,已经被 iText 7代替。