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帧
相关推荐
鬓戈9 分钟前
开源中文输入法技术调研与自建方案
学习·开源
byte轻骑兵20 分钟前
VCP核心缩写概览
人工智能·音视频·le audio·低功耗蓝牙音频
2601_9623807629 分钟前
历史解说与民俗科普视频的AI自动配素材实现教程
人工智能·音视频
摇滚侠31 分钟前
《Spring Boot 3:高级与架构设计》第 2 章 IOC 容器的高级机制 编程式驱动 IOC 阅读笔记 7
java·spring boot·笔记
only-lucky34 分钟前
QML深入学习七(MVC模块)
学习·mvc
带金箍的至尊宝35 分钟前
系统架构设计师笔记 03:CPU 结构、Cache 与总线怎么考
笔记·系统架构
2401_850122041 小时前
高温耐油热缩套管选型:材料、温度和油液要匹配
经验分享·笔记·科技·学习
Xudde.1 小时前
Me and My Girlfriend 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
Canmag 兴隆磁性1 小时前
自动装盒设备 AO-WCMF
学习·永磁材料·充磁
imDwAaY1 小时前
Bean的生命周期
java·笔记·后端·学习·spring·dubbo