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帧
相关推荐
夜瞬8 小时前
NLP学习笔记01:文本预处理详解——从清洗、分词到词性标注
笔记·学习·自然语言处理
中屹指纹浏览器8 小时前
指纹浏览器内核级渲染伪造技术:Canvas/WebGL/AudioContext深度伪造与检测绕过实战
经验分享·笔记
-Springer-9 小时前
STM32 学习 —— 个人学习笔记11-1(SPI 通信协议及 W25Q64 简介 & 软件 SPI 读写 W25Q64)
笔记·stm32·学习
LN花开富贵9 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
IT199510 小时前
Wireshark笔记-对AI连接标准MCP抓包分析
笔记·测试工具·wireshark
克里斯蒂亚诺·罗纳尔达10 小时前
智能体学习23——资源感知优化(Resource-Aware Optimization)
人工智能·学习
音视频牛哥11 小时前
国产化最后一公里:鸿蒙 NEXT 低延迟音视频技术方案破局之路
音视频·harmonyos·鸿蒙next·鸿蒙rtmp播放器·鸿蒙rtsp播放器·鸿蒙next rtsp播放器·鸿蒙next rtmp播放器
小夏子_riotous11 小时前
Docker学习路径——2、安装
linux·运维·分布式·学习·docker·容器·云计算
SteveSenna12 小时前
Trossen Arm MuJoCo自定义1:改变目标物体
人工智能·学习·算法·机器人
羊群智妍12 小时前
2026 AI搜索优化实战:GEO优化全流程
笔记