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

发布于:2024-07-10 ⋅ 阅读:(195) ⋅ 点赞:(0)

文章目录

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

开发思路

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

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

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

本篇文章实现背景的滚动效果,约5分钟

开发思路

飞船运行背景是视差背景,那么需要找到视差背景节点ParallaxBackground,新建一个场景,按照以下图片进行创建

在这里插入图片描述
名称改为SpaceBackground,场景保存在effects文件夹下
在这里插入图片描述

新建三个视差滚动层子节点,复制可以使用ctrl+D 当然也可以手动一个一个添加,名称改为图上名称 空间层(space layer) 远星层 (FarStatsLayer)和近星层(CloseStarsLayer)
在这里插入图片描述
从空间层开始,添加纹理矩形节点(TextureRect节点),做背景图片,这个节点类似于spite节点。如果节点需要控制或者UI操作,一般使用这个节点
在这里插入图片描述

拖动背景space到检查器texture中,然后放大图片覆盖蓝色可视框,然后由于图片被拉伸,因此修改检查器streth mode为平铺模式,保证图片不被拉伸
在这里插入图片描述

修改名称为space,然后如法炮制,新建FarsStars 然后纹理设置为farStars图片,纹理还是选择平铺,拉伸到整个界面
这个星星比图片中星星略大
在这里插入图片描述
同样方式添加closestars 图片选择closestats 还是记得要平铺
在这里插入图片描述
在world中实例化背景节点spaceground,直接拖进去或者点击左上边小链子都可以,这样,运行游戏,你就可以得到一个固定的背景

在这里插入图片描述
需要代码控制每个层,实现视差效果
切换回spacebackground场景,新建对应脚本,然后ctrl选中三个视差层,新建初始变量如下所示
在这里插入图片描述
视差效果实际上就是控制图片的偏移量的不同速度运动
代码新增如下 需要三个图层偏移速度不相同,这样就能构建出视差效果,三个层运行·速度不一致从而使得背景感觉更加动态。
目前星星移动到底部就不刷新了
在这里插入图片描述

设置镜像属性,检查器 motion mirroring 所有的y设置为240, 三个视差滚动层都需要设置 240是每个层的大小
这里的设置主要作用是复制一个相同的背景在上方,一个部分移动太远后,另一个部分会继续重复刷新。保证滚动后,通过复制的背景保证持续能够刷新
在这里插入图片描述

请添加图片描述