首页 > 其他分享 >36. 人物动画

36. 人物动画

时间:2024-03-09 14:22:35浏览次数:33  
标签:动画 站立 受伤 人物 状态 36 睡眠 防御

人物动画状态机

设置变量

isParry	是否在防御
isSleep	是否正在睡觉
isDead	是否已经死亡
attack	攻击
hit		受伤
skill	技能

状态

stand			站立
parry_stand		防御
hurt			受伤
attack_pillow	攻击
sleep			睡眠
wake			醒来
skill			技能
death			死亡

状态切换

站立状态可以切换到防御、攻击、睡眠、技能

防御状态可以切换到站立、受伤、死亡

受伤状态可以切换到防御、睡眠

攻击状态可以切换到站立

睡眠状态可以切换到受伤、醒来、死亡

醒来状态可以切换到站立

技能状态可以切换到站立

变量与状态切换

站立 -> 防御

isParry = true

站立 -> 攻击

触发 attack

站立 -> 睡眠

isSleep = true

站立 -> 技能

触发 skill

防御 -> 站立

isParry = false

防御 -> 受伤

触发 hurt

防御 -> 死亡

isDead = true

受伤 -> 防御

isParry = true,要完整播放完受伤动画

受伤 -> 睡眠

isSleep = true,要完整播放完受伤动画

攻击 -> 站立

播放完动画就能回到站立状态

睡眠 -> 受伤

触发 hit

睡眠 -> 醒来

isSleep = false

醒来 -> 站立

播完动画

技能 -> 站立

代码控制

添加PlayerAnimation,并把它绑定到 Player 上面

默认情况下进入 sleep 状态

玩家回合开始进入 stand 状态

玩家回合结束根据防御值进入不同状态

如果防御值大于0,则进入防御状态,否则进入睡眠状态

玩家攻击和技能动画

监听状态调用相应方法

在回合开始的事件中调用 PlayerTurnBeginAnimation

在回合结束的事件中调用 PlayerTurnEndAnimation

在丢弃了卡牌的时候调用 OnPlayerCardEvent(这里有点问题,如果我实现了一个弃牌逻辑,那么弃牌岂不是也要播放动画了?)

项目相关代码

代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git

标签:20240309_1240

标签:动画,站立,受伤,人物,状态,36,睡眠,防御
From: https://www.cnblogs.com/hellozjf/p/18062648

相关文章

  • P3670 [USACO17OPEN] Bovine Genomics S 题解
    题意给定\(2\)组字符串,每组\(n\)个,每个字符串包含\(m\)个字符。我们称一个三元组\((i,j,k)\)是合法的,当且仅当第二组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串与第一组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串均不相等。现在需要你对于给定的......
  • CF1436E Complicated Computations 题解
    题目链接:CF或者洛谷关于\(mex\)问题是一个比较久远的问题,有很多经典的方法去解决。本题的\(mex\)是从正整数开始的,不要忽略掉。来讲讲常见的两种解决方案,首先回到题目所问,如果我们暴力地询问:\(1,2,3,4,.....mex\)是否都能由原数组构造出来,对于\(i\)如果它可以由原数组......
  • 免费网站统计工具,可统计百度、必应、搜狗、360来源搜索词
    统计鸟官网地址:https://www.tongjiniao.com/站长必备!网站数据统计,流量监测平台提供网站数据统计分析、搜索关键词、流量访问来源等服务深入分析用户点击习惯,为智能化运营网站提供更好的用户体验 目录一、注册账号信息二、添加站点信息三、放置统计代码四、查看统计信息......
  • Vue学习笔记36--VueComponent构造函数
    VueComponent构造函数<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>VueComponent&......
  • 236. 二叉树的最近公共祖先c
    思想就是层次遍历,然后判断每个节点是否为父节点、/***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/booljudge(structTreeNode*root,structTreeNode*q){if(......
  • solution-cf236b
    题解CF236B【EasyNumberChallenge】原题此题一个暴力就可以过了。看着别的大佬不加记忆化吸口氧就过了,而我的却死活TLE可能因为我人丑常数大?注意到i*j*k的值会出现重复,所以考虑记忆化。时间复杂度\(O(n^3\sqrtn)\),跑得飞快代码constintN=1e6+10,M=1073741824......
  • 来了哪些领军人物?2024数据技术嘉年华主论坛揭晓!
    在1978年,中国人民大学经济信息管理系首任系主任萨师煊,第一次将“数据库”这三个字写在黑板上。这个看似平凡的举动,却点燃了中国数据库行业的火花。时光流转,如今我们站在了数字化时代的前沿。回顾过去,数据库技术的发展历程就像是一幅壮丽的画卷,从最初的穿孔纸带和文件系统,到层次模......
  • powerpoint:缩放定位动画
    一,幻灯片缩放定位插入->缩放定位->幻灯片缩放定位:在弹出窗口中,选中目标幻灯片,然后点插入按钮:插入成功:放映时退出:按键盘上的向上箭头或点击幻灯片底部的向上箭头,即可回到原幻灯片页面,如按空格或向右键箭头,则会按目标幻灯片所在位置向后播放:说明:刘宏缔的架构森林......
  • powerpoint: 放大缩小动画
    一,设置放大动画1,选中图片->工具栏动画标签栏下,选中放大/缩小:属性值:设置为400%选中平滑开始、平滑结束触发器:设置为单击:2,使图片放大后位置在屏幕中间选择图片,选择路径动画->直线:把动画的目标位置:红色的圆点,拖动到页面的中间:选中位置动画,计时的开始:设置为:......
  • 22. 导入Spine人物素材
    添加Spine组件访问spine-unity官网,下载spine-unity4.1,然后双击运行导入spineSpine相关素材下载和导入迅雷网盘将下载好的压缩包解压,将Character和Effects文件夹拷贝到Art目录下老师这边使用的素材好像是伽马空间的,因此我们需要调整颜色空间,访问:Edit->ProjectSettings......