(二)与animation播放对比
animation播放动画
1、播放默认动画
直接将动画拖入动画对象animation组件的animation变量中,然后加入如下代码既可以播放(此处采用toggle控制动画的播放)
public Animation ani;
public void OnPlayClicked(bool isOn)
{
if(isOn)
{
ani.Play();
}
}
2、采用AddClip方法
此方法为给animation组件通过addclip方法添加动画片段,然后就可以依次播放
//addclip方法
public Animation ani;
public AnimationClip[] aniClip; public void OnPlayClicked(bool isOn)
{
if(isOn)
{
StartCoroutine(Play()) ;
}
}
IEnumerator Play()
{
ani.AddClip(aniClip[0], "1");
ani.Play("1");
yield return new WaitForSeconds(aniClip[0].length+2f);
ani["1"].time = aniClip[0].length;//动画反向播放
ani["1"].speed=-1;
ani.Play("1");
yield return new WaitForSeconds(aniClip[0].length + 2f);
ani.AddClip(aniClip[1], "2");
ani.Play("2");
}
3、采用animation组件的animations数组添加动画片段
在animation组件的animations数组中直接添加动画(此步骤相当于addclip方法),然后根据动画名称就可以播放了。
ani.Play(aniName);
4、直接用动画名字播放
if (isOn)
{
titleAni["TitleMove"].speed = 2;
bottomAni["BottomMove"].speed = 2;
titleAni.Play();
bottomAni.Play();
}
else
{
titleAni["TitleMove"].speed = -2;
bottomAni["BottomMove"].speed = -2;
titleAni["TitleMove"].time = titleAni.clip.length;
bottomAni["BottomMove"].time = bottomAni.clip.length;
titleAni.Play();
bottomAni.Play();
}
动画复位
关于动画播放问题再次追加一点关于动画回到起始位置的问题,动画播放回到起始位置可用ani.Rewind();方法。
采用rewind方法时必须是动画播放过程中使用,stop()后时无法回到起始位置的。
调用rewind后动画虽然会回到原点,但是会继续重复播放,所以在此可以先取样,然后在停止播放。 ani.Play();
ani.Rewind();
ani.Sample();
ani.Stop();
使用上述方法可能会因为clip的现手顺序影响而导致无法复位。如下图所示,我需要播放的动画是Take01-Take04,如果没有Take001,且默认的播放动画animation为Take02,则在播放动画Take01过程时,动画无法直接复位,如果Take01设为默认动画,则除Take01以外,其他动画均无法复位。解决办法为找一个默认动画,只要初始位置为所需的状态即可,设为默认动画,同时,让它为Element0

动画复位还可以采用animator,即设置一个只有几帧的初始状态动画,需要复位是调用开关复位,可以是从any state进入初始动画的开关,也可以是从所有其他动画跳转到初始状态动画的开关(均采用一个参数控制),但是此方法有个问题,即如果在复位过程中存在animator的enabled==false情况(或者animator所在游戏物体setActive(false)qingkuang),则复位时初始动画虽然播放,但是不会复位(也许是因为初始动画是静止的,没有位置形态的改变)。
动画事件:
外部导入的动画legacy类型下(animation)无法在编辑的,也无法添加添加动画事件,但是只要ctrl+D复制一下,复制出来的即可编辑,但是animation要重新新建赋值
(二)与animation播放对比的更多相关文章
- 用Unity的Animation播放Animator动画Clip
简单的动画,其实不需要Animator动画状态机管理,用Animation播放效率更高,但可能由于历史遗留问题,或网上下载的第三方资源,得到的是Animator资源,可以在Clip的Debug试图下, ...
- 搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)
前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流, ...
- Android动画学习(二)——Tween Animation
前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...
- CISCO、H3C、华为三层交换机端口二三层切换命令对比
很多人都在问H3C是否有像CISCO三层端口切换类似的命令 switchport . 答案是肯定的.有.很多人都不知道. 其实无论是思科还是H3C还是华为他们都有这样的命令.但是在H3C和华为中不经常 ...
- PYNQ系列学习(二)——pynq与zynq对比(一)
Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列.与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑.采用这种方法,软件 ...
- rdb和aof二种持久化方式对比(Redis)
我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的 企业级redis集群架构:海量数据.高并发.高可用 持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去 比如你re ...
- 二、深度解析HTML5之视频播放和音频播放
一:视频播放 传统的视频音频播放是通过flash插件的形式完成,不是所有的浏览器都安装了flash插件,而且手机端不支持flash,这就导致视频和音频的播放会有很大的麻烦. 于是,HTML5增加音频和 ...
- Unity 动画系统 Animation 和 Animator的小实例
本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画De ...
- CSS动画-transition/animation
HTML系列: 人人都懂的HTML基础知识-HTML教程(1) HTML元素大全(1) HTML元素大全(2)-表单 CSS系列: CSS基础知识筑基 常用CSS样式属性 CSS选择器大全48式 CS ...
随机推荐
- Android Studio [TextView]
MainAcitvity package com.xdw.secondapp; import android.content.Intent;import android.os.Bundle;impor ...
- Spring常犯的十大错误,你踩过吗?
1.错误一:太过关注底层 我们正在解决这个常见错误,是因为 "非我所创" 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理解特定库的 ...
- Nginx 配置项优化详解
(1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...
- Oracle 存储过程判断语句正确写法和时间查询方法
判断语句:if 条件 then if 条件 then ************; elsif 条件 then ************; elsif 条件 then ***** ...
- shell检测网站地址是否存活
#!/bin/bash . /etc/init.d/functions url_list=(www.baidu.com) ChkCurl(){ i=0 while [ $i -lt 2 ] do cu ...
- [WP8.1]给Pivot的Header加上颜色
先上个效果图 以前想实现这个给Pivot加颜色时只找到8的,通过参考8的实现方式,8.1的实现如下,在Pivot的样式上做一些修改,如下图的红框处 另外如果要改Pivot的Header里文字的颜色又要 ...
- 扛住阿里双十一高并发流量,Sentinel是怎么做到的?
Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能.原理.架构.快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系 ...
- ssrf漏洞学习(PHP)
自己最近原本是想深入的学习一下关于xss.csrf的东西的,可是感觉这些东西需要有很好的js的基础来进行学习..还有感觉自己感觉也差不多该要学习内网渗透了..正好ssrf在内网这一块也是比较有用的.于 ...
- Java8 Period.between方法坑及注意事项
在使用Java8 新特性中关于Period.between的方法时需注意该方法获取日期的区间问题. @Test public void test1(){ LocalDate from = LocalD ...
- ubuntu14.04 安装tensorflow始末
基于ubuntu14.04 干净的系统一步步遇到的坑记录下来: 怀着平静学习的心情,问题总的能解决的! 1. 首先看了下当前python版本 python --version Python 2.7.6 ...