第二节 关卡3
下面,我们来制作第三关,并制作两个新兵种——火箭筒兵、坦克。
过场动画
可以给第三关添加一个简单的过场动画:
关卡初始化
- 添加关卡 3 初始化代码:
- 添加关卡 3 流程控制代码:
(注:这里开头就从“存活人物表”删除了玩家,是为了将玩家排除出索敌列表,避免玩家在过场动画时,就被敌人围攻)
- 添加一个新的物体:废弃卡车,类似贩卖机,靠近可购买道具;
由于是废弃卡车,不停地放出滚滚浓烟:
- 为卡车放出的浓烟编写代码:
- 使用 xv、yv 分别记录 x、y 方向的速度。xv(水平速度)设为 1~3.0 的随机小数;yv(上飘速度)设为一个固定值;
- 上飘时,烟雾逐渐变大、旋转、消散;
- 将 x、y 按速度增加,同时 x 速度受阻力影响,逐渐减小。
关卡 3 的流程控制逻辑比较简单——总共三波敌人,击败一波敌人后有一段休息时间。击败所有敌人后胜利。因此这里不再介绍关卡 3 的流程代码。
火箭筒兵
- 添加火箭筒兵的定义:
- 在“人物武器”角色中,添加武器“火箭筒”的定义:
- 子弹为“火箭”
- 子弹速度调低,设为 15。
这样,我们就完成了一个新兵种——火箭筒兵。
坦克
下面来制作坦克。坦克是一种特殊的“人物”,发射炮弹,炮台可以转动。
- 添加坦克的定义信息:
- 添加坦克动作:
- 和远程类敌人动作类似。转速设为 5。
- 坦克死亡后,放置爆炸,并冒出硝烟。
- 添加坦克武器(坦克炮台)的定义:
- 设置转速为 9;
- 关闭一般武器的左右造型对称;
- 子弹设为火箭。
- 添加坦克死亡后,炮台上抛的动作。为了让炮台上抛时不再跟随本体,新建一个变量“不再跟随”,设为 1 时表示武器不再跟随人物。
其中,炮台上抛的代码如下:
这样,我们就完成了坦克、火箭筒兵的制作!
上一节:01 圆形碰撞箱
下一节:03 BOSS 战
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=STG303/Arkos/Lec7/03&type=comment"
title="{射击课高级篇-第七课-03}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>