Animator使用示例

承接上一篇开源可视化有限状态机编辑器

本示例以egret的dragonBones应用为例

仓库地址:https://github.com/wonderyue/AnimatorDemo.git



首先导出egret格式的骨骼动画



然后将skeleton.json文件丢入Animator中,(跟open是一个效果,两种方式任君选用),刚丢进去时应该是这样事儿的



稍微编辑一下



然后点击save,保存下来,放到工程资源目录下。

代码部分参考demo即可,非常简单,不过300行。只对个别部分做一些探讨:

1.文件名有严格的要求,要导入的骨骼文件必须以"skeleton.json"结尾,保存的输出文件必须以"fsm.json"结尾。这部分在编辑器的源码中可以看到,因为扩展名都是json,所以暂时对文件名有了比较严格的要求。

2.关于业务逻辑的一些建议。涉及到具体业务逻辑,如动作游戏的动画切换,可能会涉及到以下问题。第一种是立即切换,如anyState跳转到die,我们一般希望立即跳转。第二种是有限窗口内跳转,比如三连击时,我们不希望玩家点击三次攻击动画一瞬间播放到了第三击而前两击几乎看不到。为了兼顾上面两种情况,我们可以在跳转前加一个判断,条件可能是当前动画名称,下一个动画名称,是否循环播放以及cutTime/totalTime等几个条件的逻辑组合。

时间: 2024-10-30 08:55:56

Animator使用示例的相关文章

利用Android属性动画实现Banner的原理与实践

其实在Android刚推出属性动画的时候,就想利用它来设计一个Banner控件,一直没什么时间尝试.在当时看我们应用中的Banner,使用计时器来控制自动播放,设置一个很大的数,利用余数原理来实现ViewPager循环,在进行内存分析的时候,看似不起眼的Banner却是一个消耗内存的大户,相信很多App的Banner都是计时器加ViewPager的方式实现的. 最近时间比较宽裕,可以做一些研究性的工作,因此打算尝试使用属性动画实现Banner.目前仅仅是尝试了一下如何实现,暂还未将其做成一个控件

Unity3D之Mecanim动画系统学习笔记(八):Animator Layers(动画分层)

解决什么问题? 动画分层可以用来解决什么样的问题呢?试想一下如果你要开发一款第三人称的射击游戏,那么肯定是希望身体的动画分为上下两部分,上方根据瞄准的位置和是否射击进行动画播放,下方根据移动播放动画.最好的例子就是Unity4.x自带的示例AngryBots了. Avatar Mask 下面我们就使用Avatar Mask来实现人物在奔跑中招手的效果. 我们先添加一个人物到场景,同时为其添加一个Animator Controller并设定好跳转条件,如下: 接下来我们添加下面的脚本来控制动画的播

【Android】21.4 图片动画缩放示例

分类:C#.Android.VS2015: 创建日期:2016-03-21 一.简介 该例子演示如何动画缩放图片,实现类似"点击看大图"的效果. 二.示例 1.运行截图    2.设计步骤 (1)添加图片 在Resources/no-dpi文件夹下添加4张图片(2个缩略图,2个大图). (2)添加ch2104MyImageButton.cs using Android.Content; using Android.Widget; using System.Drawing; using

Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation

Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation 通过上一小节的操作,我们新建了2个动画:PlayerIdleAnimation和PlayerWalkingAnimation.而且在单击Animation视图里的播放按钮时,也看到了动画的效果.但是现在还需要管理这两个动画,也就是说需要能够指定精灵当前进入的动画状态,为此就需要对动画控制器展开一些设置和操作,具体的步骤是本文选自Unity 2D游戏开发从入门到精通清华大

Animator窗口视图Project视图PlayerIdleAnimation和PlayerWal

Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation 通过上一小节的操作,我们新建了2个动画:PlayerIdleAnimation和PlayerWalkingAnimation.而且在单击Animation视图里的播放按钮时,也看到了动画的效果.但是现在还需要管理这两个动画,也就是说需要能够指定精灵当前进入的动画状态,为此就需要对动画控制器展开一些设置和操作,具体的步骤是本文选自Unity 2D游戏开发从入门到精通清华大

pfsense Web服务器负载平衡配置示例

在pfsense的网关和服务器中有两种类型的负载平衡功能.网关负载平衡可以通过多个WAN连接分发Internet绑定的流量.服务器负载平衡管理传入流量,因此它利用多个内部服务器进行负载分配和冗余,服务器负载平衡允许流量在多个内部服务器之间分配,它最常用于Web服务器和SMTP服务器.下面我们就以实例来介绍服务器负载平衡的设置. 下面介绍如何通过pfsense2.32配置Web服务器的负载平衡. 网络环境 服务器负载平衡示例网络环境 上图为示例网络环境.它由单个防火墙组成,使用其WAN IP地址池

docker深入2-API示例

2017/9/18 一.目的 演示 http API 使用的方式 注1:本次实例是在 docker swarm mode 下使用的,目的是:更新指定服务的镜像. 注2:要在 swarm manager node 上执行. docker 的 API 文档是自动生成的,没有太多有用的示例可用. [版本] ~]# docker version Client:  Version:      17.06.0-ce  API version:  1.30  Go version:   go1.8.3  Gi

Storm入门(四)WordCount示例

Storm API文档网址如下: http://storm.apache.org/releases/current/javadocs/index.html 一.关联代码 使用maven,代码如下. pom.xml  和Storm入门(三)HelloWorld示例相同 RandomSentenceSpout.java /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor lice

java第15章示例代码

import java.util.Scanner; /** * * @author asus第15章示例代码1 全桂群2017.4.9 * */public class Registter { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); String uname, pw