使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌机配置(五)

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船动画(三)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-滚动背景(四)

开发思路

整体开发还是基于组件的思维。相比于工厂模式或者状态机,可能有些老套,但是更容易理解和编程

教程大概是2个小时 基本上一个小时就能有游戏的雏形。

不过由于都是初学者,所以大概整体是应该4个小时左右。

本篇文章实现敌人,约10分钟

敌人节点场景

这个敌人虽然使用的组件,但是仍然有一定继承的思想

首先新建一个敌人场景,节点是node2d,在enemies文件夹下
在这里插入图片描述

添加敌人所需要的节点,如图所示,都是之前飞船用过的,然后enemy新建脚本准备调用这些组件
一共7个
(1)动画精灵效果节点 AnimatedSprite2D
(2)移动组件MoveComponent
(3)缩放组件ScaleComponent
(4)状态组件StatsComponent
(5)闪烁组件FlashComponent
(6)振动组件ShakeComponent
(7)屏幕可视化编辑器VisibleOnScreenNotifier2D
这些组件是所有敌人的通用模块,使用组合的方式的好处在于能够复用大量逻辑代码不用在意其中细节,并且能够灵活的选择哪些逻辑作用于敌人,实现更好的灵活性和复用性(当然,实际上继承和状态机也可以实现,不过可能更加复杂)
在这里插入图片描述
组件添加后,需要添加脚本到enemy,按住ctrl拖动组件到脚本,代码如下所示
可以明确组件的类型方便出错(我没添加)

ready代码只有一行,主要实现的当敌人离开屏幕时自行销毁。这行语句就是通过connet连接屏幕可视化组件到销毁信号
queue_free为常用销毁函数,建议记住
在这里插入图片描述
基础敌人有了后,所有敌人都要继承于这个敌人,新建一个继承场景
在这里插入图片描述
设置场景保存为green_enemy 这样就能继承敌人的模板,能够看到黄色的组件,不能进行修改,继承场景不能修改父场景节点
如果要修改敌人节点,就必须修改父节点
在这里插入图片描述

绿色敌人制作

在继承的绿色敌人里面,选择AnimatedSprite2D节点,找到素材中绿色敌人,按照之前已经有过的教程添加动画,具体参数如下图所示
在这里插入图片描述
可以运行查看动画,然后需要调节可视框大小

在这里插入图片描述

movecomponent 检查器中acter选择green enemy
在这里插入图片描述
scalecomponent falshcomponent shakecomponent 这三个检查器acter需要选择animated2d
在这里插入图片描述

将movecompoent 中速度velocity设置为40
在这里插入图片描述
然后在world中添加敌人,如果敌人能够往下移动,并且播放动画,那么敌人配置
成功

目前敌人没法受到攻击和碰撞。下一章进行详细讲解
在这里插入图片描述
最后在,statscomponent组件中,将health设置为3 绿色敌人攻击三次会死亡
修改生命值不会影响被继承组件,enemy中生命仍然默认为1,这样方便我们为每种敌人单独设定数值
在这里插入图片描述
下一章对敌人受击控制进行讲解,主要讲解敌人的交互

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级馒头神

看看谁给我第一个打赏。太感谢您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值