飞行游戏模板
说明
欢迎来到Y3飞行射击游戏模板的教程讲解!在游玩过模板中的简单demo后,相信你一定跃跃欲试。这个模板可以让玩家轻松创建和配置自己的游戏关卡。玩家可以通过配置敌人的弹道和运动路径来让游戏更具挑战性和乐趣性。此外,模板使用表格数据进行配置,只需修改表格数据,就可以制作自己的关卡。希望你尽情享受游戏创作的乐趣,使游戏更富有挑战性和趣味性。
一.敌机弹道
对敌军弹道进行自定义配置
表格字段
弹道类型
分为三种类型
散射
子弹方向与弹道起始角度相同
相关字段:起始角度,弹道cd,起点距离,间隔角度,列数,列距,行数,行距,速度,延迟时间
旋转
单位一边发射子弹一边旋转
相关字段:起始角度,弹道cd,起点距离,间隔角度,列数,列距,行数,行距,速度,结束角度,弹道组数,旋转间隔角,是否循环,延迟时间
追踪
子弹初始方向朝向自机
相关字段:起始角度,弹道cd,起点距离,间隔角度,列数,列距,行数,行距,速度,等待时间,延迟时间
起始角度
弹道队列的基本方向
旋转类型中起始角度也作为旋转的初始方向
弹道cd
两组弹道队列的间隔时间
起点距离
弹道队列的基准起点与单位的距离
间隔角度
弹道队列中列与列之间的角度(列距与间隔角度一般只配置一项,另一项为0)
列数
弹道队列的列数
列距
弹道队列中列与列之间的距离(列距与间隔角度一般只配置一项,另一项为0)
行数
弹道队列的行数
行距
每列子弹中前后的间隔距离
速度
子弹运动速度
结束角度
旋转类型的弹道旋转结束旋转的角度
弹道组数
旋转类型的弹道每发射N组弹道队列后旋转到下个角度
旋转间隔角
旋转类型的弹道每次旋转固定角度
是否循环
配置为0,旋转类型弹道顺时针旋转到结束角度后,逆时针向起始角度旋转
配置为1,旋转类型弹道顺时针旋转到结束角度后,直接回到起始角度,顺时针向结束角度旋转
等待时间
追踪类型弹道,发射子弹后停留一段时间后向玩家发射(向玩家展示弹道队列)
延迟时间
与单位运动有关。开始对应的路段运动时,等待一段时间后开始发射子弹
制作流程
-
打开敌机弹道配置表格。(可以导出到文件夹后使用Excel或Google Sheets等软件进行编辑)
-
根据需求选择适合的弹道类型。散射类型适合固定方向的弹道,旋转类型弹道会一边攻击一边旋转,追踪类型弹道会朝向玩家所在的方向射击。
-
根据选择的类型不同,填写对应的关联字段。不同的弹道类型,需要填写不同的字段。
对于散射类型,需要填写起始角度,弹道cd,起点距离,间隔角度,列数,列距,行数,行距,速度,延迟时间。
对于旋转类型和追踪类型的弹道,需要填写一些额外的字段,如结束角度、弹道组数、旋转间隔角、是否循环、等待时间等。根据需要进行填写。
-
若之前导出后用外部软件修改表格,需要导入表格。导入后确认表格数据是否正确
-
将配置的敌机弹道key值填写到相关的敌机路径配置中(见空中路段配置)
-
运行游戏,就可以看到对应的敌人已经在使用新的弹道了
-
在游戏中测试敌机弹道效果,并按照体验进行优化和改进。
敌机弹道配置是游戏中非常重要的一部分,需要认真考虑和制作。通过合理的配置,可以使游戏更加有趣和具有挑战性。
示例
比如我们想制作一个大范围散射的弹道
- 首先我们点击屏幕上方的表格按钮,打开表格窗口
- 打开表格【敌机弹道】
表格中可配置项如下
-
首先,key值填写bullet1,弹道类型填写散射
-
我们想让敌人向下方射击,所以起始角度填写0度。(角度逆时针方向增加)
-
子弹的速度可以通过速度进行修改,这里我们填写1000
-
弹道产生的位置距离敌人自身应该有一段距离,我们设置起始距离为100。
-
散射的弹道应该由多列组成,每列之间相隔一定角度。所以我们填写列数为8,间隔角度为15。
-
如果子弹一直不间断发射,未免有些单调。我们可以修改弹道cd来让弹道停止一段时间后再继续射击。我们填写弹道cd(单位为秒)为0.3。
-
这样,弹道会被分为一段一段发射。可以修改行数与行距来控制每段的排列。我们这里填写行数为5,行距为80比较合适。
-
其他选项和我们的配置无关,填写为0即可,完整数据如下
- 接下来我们修改触发器中的单位组配置为“Test_bullet1”(模板默认为“正式游戏”)
- 开始游戏,就可以看到效果了!
- 现在,你完成了第一个自己的弹道配置。想要调整到更好的效果可以再修改表格中填写的数据优化现在的效果。如果要尝试更多有趣的效果的话,可以阅读表格字段说明,制作更多样的弹道啊。
二.敌机运动路径
空中单位
空中单位的运动支持多段路线组合
空中路段配置
表格字段
type
路段类型,包含:
往返
单位从起点到终点,然后由终点回到起点
相关配置字段:skill,start,end,curveId,repeat,speed
循环
单位从起点到终点,然后直接回到起点,从起点到终点
相关配置字段:skill,start,end,curveId,repeat,speed
停留
单位停在原地
相关配置字段:skill,stay
skill
路段中使用的攻击方式,对应【敌人弹道】表格中的key值。
配置0表示敌人不攻击
start
代表路线起点。对应场景中配置点的名称
end
代表路线终点。对应场景中配置点的名称
curveId
曲线样式,可在ECA中添加新的自定义曲线
repeat
路径重复次数。
配置为1,单位运动到终点后停止
配置大于1,运动到终点后根据运动类型再次进行运动
speed
单位运动速度
stay
单位停止时间
空中单位配置
将多个空中路段配置组合为一个单位完整的运动路径
表格字段
unitType
生成单位的类型,对应物体编辑器中的单位
dropItem
死亡掉落物品,对应物体编辑器中的投射物
pathNum
路段配置组合的数量。
对应字段path1,path2...pathN
willDestroy
单位运动结束后是否销毁。
一般单位最终停在屏幕内则不销毁,配置0
最终停在屏幕外则销毁,配置1
pathN
对应【空中路段】表格中的key值
地面单位配置
单位在配置的两点间移动,移动到终点后停止。随后单位随地面向下移动。
表格字段
unitType
生成单位的类型,对应物体编辑器中的单位
start
代表路线起点。对应场景中配置点的名称
end
代表路线终点。对应场景中配置点的名称
speed
单位运动速度
单位组配置
组合将多个单位或单位组为整体规划关卡
表格字段
num
单位组中的单位数量
delayN
单位N与单位N-1的开始运动的时间差
typeN
单位类型,分为
地面
对应的字段keyN为【地面单位】表的key值
空中
对应的字段keyN为【空中单位】表的key值
单位组
对应同表格中其他单位组配置的key值
keyN
字段typeN对应表格中的key值
制作流程
运动路径配置是关卡制作中最重要的部分
-
在表格【地面单位】中配置地面单位,会随地面向屏幕下方运动
-
空中单位需要配置表格【空中路段】和【空中单位】
在表格【空中路段】中配置一段运动路径
在表格【空中单位】中将多个路径组合起来
-
在表格【单位组】中将地面单位,空中单位组合起来成为一小段关卡
-
表格【单位组】中将多段小关卡组合起来,成为整个关卡
示例
提前准备
提前准备1(可跳过)场景中配置点
首先,我们需要在场景中预先配置【点】(模板中已经预配置一些点)
在【触发器】中找到GameInit,添加场景点ID引用
提前准备2(可跳过)配置曲线
在【触发器】中找到GameInit,添加曲线
点击曲线路径进行配置
如果由单位会往返多次的话,还需要配置对应的反向运动曲线
地面单位配置
我们可以在表格【地面单位】中进行配置,实现随屏幕运动的单位
-
首先,我们填写key值为ground1
-
unitType中选择玩家自定义中的坦克(模板中已经预配置)
-
地面单位会行进一段直线路径后随地面移动,模拟类似坦克的地面单位攻击空中单位前的准备动作。
这里我们填写start为顶_左,end为顶_右。
-
修改speed字段来控制单位运动速度,这里我们填写500
-
配置完整数据如下
- 接下来我们修改触发器中的单位组配置为“Test_ground1”(模板默认为“正式游戏”)
- 配置完成了, 我们先看看实现的效果
空中单位配置
首先是飞入效果
-
我们填写key为enter1
-
type中我们填写为往返,我们只需要从起点到终点一次,所以repeat填写为1
-
填写start为上_中_起点,end为上_中__终点_1,curveId处填写直线(这里是模板中已经预配置的点和曲线,想要自己配置见上面提前准备)
-
我们可以配置单位在这段路径中是否攻击,以及使用何种弹道。
填写0不攻击;填写弹道key值使用对应弹道(见上面敌机弹道)
这里我们填写0,敌人在飞入屏幕过程中不需要攻击
-
填写speed字段修改敌人速度。这里我们填1000
-
其他字段和我们的配置无关,填写为0即可,完整数据如下
然后是停留效果
-
我们填写key为stay1
-
type中我们填写为停留
-
我们希望敌机停在这里然后攻击玩家,选择skill为之前配置的弹道bullet1
-
填写字段stay修改停留时间,这里我们填写3,单位停留3秒
-
其他字段和我们的配置无关,填写为0即可,完整数据如下
飞出效果与飞入同理
完整数据如下
将路段组合起来
接下来我们在表格【空中单位】中将多个路段组合为一个单位的完整运动
-
我们填写key为unit1
-
unitType中我们选择玩家自定义中的小飞机类型(已在模板中预配置)
-
之前我们配置了3段路段,所以pathNum处我们填写3。
-
在path1,path2,path3处按顺序填写上路段的key值。这里我们在path1填enter1,path2填stay1,path3填exit1
-
我们希望有的单位死亡时可以掉落奖励道具,在dropItem中我们可以选择。选择none表示不掉落道具,选择对应道具掉落。这里我们选择none
-
我们的单位就配置完成了,完整数据如下
配置完成
接下来我们修改触发器中的单位组配置为“Test_unit1”(模板默认为“正式游戏”)
我们来看看实现的效果
单位组配置
我们可以在表格【单位组】中将我们之前制作的单位都组合起来变成一段小关卡
我们可以将之前制作的地面单位和空中单位组合起来,制作这样一个场景。飞机进入攻击玩家,然后坦克进入飞机离开,过一会儿又进入一架飞机。我们一共需要三个单位,空中单位可以使用两次,再和地面单位在一起就可以达成效果了。
-
首先,我们填写key值为group1
-
我们需要配置三个单位,在num处填写3。
-
delay表示当前单位和上一个单位出现的时间差,type我们可以选择地面,空中或单位组。
-
我们先配置第一个单位。我们填写type1为空中,key1填写unit1。飞机直接开始运动,delay我们填0。
-
接下来我们配置第二个单位坦克。我们填写type2为地面,key2填写ground1。坦克会在飞机飞一会儿后出现,delay2我们填写3。
-
最后我们还是使用之前的飞机。type3为空中,key3为unit1,delay3为2。
-
配置完成,完整数据如下:
- 接下来我们修改触发器中的单位组配置为“group1”(模板默认为“正式游戏”)
- 接下来我们可以看看最终的效果了
三.自机技能说明
共有4种攻击方式:普通子弹,散弹,横向激光,扫射激光。(参照对应物体编辑器中的技能)
获得敌军死亡后掉落的道具会切换到对应技能。
获得散弹后,基本子弹升级为散弹
获得激光后,使用一段时间,子弹重新变为基本子弹