godot2D游戏教程系列二(20)

前言:

完成目标:

成功创建敌人场景,并完成基础动画设置。


一、快速创建敌人场景

  • 复制 player.tscn
  • 重命名为 enemy.tscn
  • 根节点重命名为 Enemy
  • 移除原来的玩家脚本绑定

目的:

复用结构,减少重复搭建。


二、重置动画系统

  • 重置 AnimatedSprite2D 的精灵帧资源
  • 创建新的 SpriteFramesa
  • 删除 2D 相机节点(敌人不需要跟随视角)
  • 移除 Idle / Run 状态脚本
  • 将 Run 状态节点重命名为 Move

目的:

让敌人拥有独立的动画和行为。


三、添加敌人动画

按照和玩家一致的命名规则:

复制代码
Idle_Up
Idle_Down
Idle_Left
Idle_Right
Move_Up
Move_Down
Move_Left
Move_Right

设置:

  • 使用网格添加动画帧
  • 帧率:12 FPS
  • 勾选循环播放

四、调整悬浮效果

  • 修改 Sprite 的 offset
  • 设置 Y = -40

效果:

敌人看起来悬浮在空中。


最终效果

  • 拥有独立 Enemy 场景
  • 动画结构清晰
  • 无相机依赖
  • 悬浮视觉完成

敌人基础外观与动画系统搭建完成,为后续AI逻辑做准备。

实现过程:

  • 我们来创建敌人的场景,然后玩家场景其实和敌人场景有很多的共同之处,所以我们可以直接服用玩家场景来创建敌人场景是一个很不错的选择。让我们在场景文件夹中,找到player.tscn的文件进行复制一份,然后重命名为enemy.tscn
  • 然后把根节点进行重命名为enemy
  • 然后我们把原来的玩家脚本去掉绑定,点击右边检查器的最下面的一个重置的图标,去掉附加的脚本
  • 然后接着我们接着来搞定动画精灵节点,我们重置精灵帧对象重置默认动画属性
  • 然后我们创建新的精灵帧并且点击一下
  • 然后2d相机节点我们不需要直接删掉(相机作用是观察,有了相机所以是以玩家角色为中心的地图移动)
  • 接着我们移除待机状态和移动状态的脚本,另外把这个移动状态重命名为Move
  • 然后接着我们来添加动画,我们按照想玩家角色动画的一样命名方式,待机状态+方向去命名,点击网格然后添加对应的动画帧,并且帧率设置为12帧循环
  • 然后我们希望这个敌人是在空中悬浮的,所以我们需要这个精灵往上偏移一点,所以打开右侧检查器设置offset进行设置,将y轴的偏移设置为-40
  • 接下来我们把剩下的三个方向的待机状态动画都进行添加进去,以及移动的动画添加进去,待机动画和移动动画都是一样的,帧率也是一样的12帧
相关推荐
RTC实战笔记2 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
潜创微科技3 天前
HDMI1.3 无线传输芯片方案 空旷 150 米量产级音视频方案
音视频
通信小呆呆3 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick3 天前
自动对焦学习-3
人工智能·学习·计算机视觉
VidDown3 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
换个昵称都难3 天前
音频格式之WAV
音视频
Daisy Lee3 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
AI创界者3 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e3 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统