使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-粉色敌人状态切换(十三)


使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船动画(三)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-滚动背景(四)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌人配置(五)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-碰撞框和受伤区域(六)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-受伤 爆炸 销毁组件(七)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌人生成器(八)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-标题菜单及游戏结束界面(九)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-基础得分系统(十)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-最高分和数据记录(十一)
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-黄色敌人(十二)

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

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

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

本篇文章实现另一个有粉色敌人,约15分钟

加油!还有5节就完成这个游戏了!最多还有1个小时!

粉色敌人添加

首先先找到enemy的基础场景,然后同样创建一个继承场景,改名字为PinkEnemy粉色敌人,这与之前那个黄色敌人一样,不赘述
然后动画精灵选择粉色敌人

在这里插入图片描述
动画FPS调为10 动画设置为自动播放
在这里插入图片描述
hurtbox hitbox增加碰撞,仍然是hitbox攻击区域小于hurtbox受击区域。然后顺便调节VisibleOnScreenNotifier2D区域为动画区域

在这里插入图片描述
分数设置为20

在这里插入图片描述
生命值设置为6

在这里插入图片描述

ScaleComponent,FlashComponent,ShakeComponent move MoveComponent也需要设置检查器,当然如果你Enemy中已经设置了,那么自动就会继承。我之前忘设置了,所以都需要设置

状态节点添加

新建一个基本节点,作为状态节点
在这里插入图片描述
添加statecomponent状态组件,然后改名为MoveDownState

在这里插入图片描述
再添加一个MoveComponent作为状态组件的子节点,现在能够看到有两个MoveComponent节点了,因为这次是通过状态控制,上面那个继承的黄色的移动节点就不会使用了

现在理论上应该新建一个敌人,因为继承的节点使用不了,也无法删除,那么这个组件实际上就是无效继承。这就是继承的一个小缺点
但是由于可能还有部分组件还需要使用,因此还是采用继承的方式,不新制作敌人组件

在这里插入图片描述
设置下面这个MoveComponent的属性,acter是PinkEnemy Y速度是15

在这里插入图片描述
再新增一个状态MoveSideState,acter是PinkEnemy X速度是20,后续需要代码控制左右移动
在这里插入图片描述
添加BorderBounceComponent,然后设置检查器属性,然后注意MoveComponent要选择对应的组件,不要选错
在这里插入图片描述

添加一个时间状态组件,这个组件作用就是运行一段时间发出信号,表示状态已完成,名字更改为PauseState

更改两个节点类型为时间状态节点
然后主要逻辑就是,先向下移动,然后暂停一段时间,然后再侧向移动,再暂停,重复这个过程
在这里插入图片描述

由于之前更改了节点类型需要也更改关联借本,并且将时间改为3s,MoveSideState和MoveDownState都需要更改
在这里插入图片描述
然后将三个时间组件节点设置成唯一名称,然后Pink_enemy制作一个扩展脚本,然后Ctrl初始化这三个节点

并且添加类名class_name PickEnemy
在这里插入图片描述

代码更新如下,具体代码逻辑为
super调用父节点函数
然后循环遍历所有时间节点的子节点,然后禁用所有的节点
然后就是X方向随机移动设置
然后将三个状态连接,
向下移动状态完成后运行侧面移动状态
侧面移动状态完成后运行暂停状态
运行暂停状态完成后运行向下移动状态
这样也就完成了一个循环

然后最后需要调用状态
在这里插入图片描述

测试敌人

将设置好的pink敌人先拖到world中运行,看敌人是否运动正常,一段时间左右移动,一段时间往前移动

在这里插入图片描述

运行游戏,敌人能够如同下图运行,那么粉色敌人基本正常

请添加图片描述

下一章实现粉色的敌人子弹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

超级馒头神

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

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

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

打赏作者

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

抵扣说明:

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

余额充值