godot2D游戏教程系列二(19)

前言:


完成目标:

让玩家在不同状态下播放对应动画(Idle / Run)。


一、在基础角色类中准备动画接口

  • 打开 base_character.gd
  • 创建一个新的函数(例如:PlayAnimation(state, direction))
  • 用 Ctrl 拖拽获取动画节点(如 AnimatedSprite2D)
  • 写好"状态 + 方向"拼接逻辑

注意:

这里只是提供播放动画的方法, 不在基类里决定什么时候播放。


二、在各状态中播放动画

在 Idle 状态脚本中

  • 在 Enter() 或 Update() 里调用:
  • 播放 Idle + 当前方向 的动画

在 Run 状态脚本中

  • 在 UpdatePhysics() 或 Enter() 里调用:
  • 播放 Run + 当前方向 的动画

核心思想

  • 基类:负责"怎么播放动画"
  • 状态:负责"什么时候播放什么动画"

最终效果

  • 进入 Idle → 播放待机动画
  • 进入 Run → 播放奔跑动画
  • 动画会根据方向变化

角色正式实现: 移动 + 状态切换 + 对应动画播放。

实现过程:

  • 在上一个章节中,我们的玩家角色可以移动了然后会切换状态了,但是动画还没播放,这节我们就来解决这个问题。 我们打开基础角色脚本,然后进行创建一个新的函数
  • 然后我们将状态机节点使用ctrl+拖动到基础角色脚本中
  • 然后编写动画播放,状态+方向。但是我们不会在这个基础角色类脚本中进行播放,而是在各自的状态脚本中进行完成这个播放动画的操作
  • 所以在空闲状态脚本中
  • 在奔跑状态脚本中
相关推荐
http阿拉丁神猫1 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
HRBorderInsight4 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
Mikko75 小时前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
又見山6 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
撩得Android一次心动7 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
cao23337 小时前
关于 x1 y1 等变量名冲突的指正(校对版)
笔记
dadaobusi8 小时前
学习:灵犀指令集
学习
Demons_kirit8 小时前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
xhyu619 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
郝学胜_神的一滴10 小时前
游戏设计:原型与开发 06:读懂游戏设计最容易被忽略的文化层
游戏·游戏开发