36. 人物动画
1.02. 创建房间的 Prefab2.03. 设计地图配置表3.04. 生成地图上的房间4.07. 泛型事件框架5.08. 场景加载6.09. 保存地图场景7.10. 房间进出逻辑8.11. 制作卡牌 Prefab9.12. 创建卡牌数据类10.13. 对象池11.14. 制作卡牌库实现抽卡12.15. 创建卡牌布局13.16. 抽卡动画14.17. 实现卡牌扇形布局15.18. 实现鼠标事件16.19. 卡牌拖拽17.20. 攻击牌的拖拽指针18.21. 实现洗牌逻辑19.22. 导入Spine人物素材20.23. 人物基类代码21.24. 执行卡牌效果22.25. 制作血条的 UI Document23.26. 绑定血条数据24.27. 创建USS血条样式25.28. 制作 Gameplay Panel26.29. 绑定 Gameplay Panel 数据27.30. 回合转换28.31. 出牌能量判断29.32. 防御牌及 UI30.33. 回血的苹果牌及特效31.34. 增加力量牌及 UI32.35. 更多卡牌
33.36. 人物动画
34.37. 敌人意图 AI 逻辑35.38. 敌人的动画执行逻辑36.39. 对战胜负逻辑37.40. 制作胜利和抽卡面板38.41. 抽卡面板的实际逻辑39.42. GameOver 及 Menu 面板40.43. 实现休息房间的逻辑41.44. Boss 制作和整体流程42.45. 淡入淡出及打包游戏人物动画状态机
设置变量
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(这里有点问题,如果我实现了一个弃牌逻辑,那么弃牌岂不是也要播放动画了?)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?