使用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是每个层的大小
这里的设置主要作用是复制一个相同的背景在上方,一个部分移动太远后,另一个部分会继续重复刷新。保证滚动后,通过复制的背景保证持续能够刷新