变量
已死
造型帧 [NPC]
瞄准方向 [NPC]
攻击间隔 [NPC]
攻击帧 [NPC]
子弹方向
子弹X
子弹Y
子弹类型
本体 [敌人子弹]
😊
帧 [敌人子弹]
地图Y
地图X
角色
Stage
造型
封面
代码
当 绿旗 被点击
重复执行
播放声音 原版魂斗罗配音_耳聆网_[声音ID:36740] 等待播完
当 绿旗 被点击
换成 封面 背景
等待 1 秒
等待 3 秒
当接收到 清屏
主角
造型
hin
翻滚3
翻滚2
翻滚1
翻滚0
声音
开枪
代码
当 绿旗 被点击
隐藏
将 {已死} 设为 1
当按下 空格 键
将 {攻击中} 设为 1
克隆 子弹
等待 0.2 秒
将 {攻击中} 设为 0
如果 ({已死} = 0) 那么
播放声音 开枪
将 {攻击中} 设为 1
克隆 子弹
等待 0.2 秒
将 {攻击中} 设为 0
当接收到 清屏
隐藏
当接收到 死亡
等待 2 秒
广播 淡出 并等待
广播 连接 lv 和 {关卡}
广播 淡入
当接收到 游戏开始
面向 90 方向
将 {已死} 设为 0
将 {可穿越} 设为 0
移到最 前面
移到最 前面
当接收到 过关
停止 该角色的其他脚本
当接收到 死亡
停止 该角色的其他脚本
换成 死亡0 造型
重复执行 4 次
下一个造型
等待 0.2 秒
广播 淡出 并等待
广播 连接 lv 和 {关卡}
广播 淡入
当接收到 游戏胜利
停止 该角色的其他脚本
广播 淡出 并等待
广播 清屏 并等待
换成 胜利 背景
广播 淡入
定义 更换造型
如果 ({已死} = 1) 那么
如果 (向上取整(({楨} / 4)) > 4) 那么
换成 连接 死亡 和 4 造型
否则
换成 连接 死亡 和 向上取整(({楨} / 4)) 造型
停止 这个脚本
如果 ({攻击中} = 1) 那么
如果 (({攻击中} = 1) 与 ({站在地上} = 1)) 那么
换成 连接 翻滚 和 向上取整(({楨} / 8)) 除以 8 的余数 造型
换成 连接 翻滚 和 向上取整(({楨} / 4)) 除以 4 的余数 造型
定义 尝试爬坡
将x坐标增加 (-1 * ({x速度} / 10))
将x坐标增加 (-1 * ({x速度} / 10))
定义 X移动
如果 ({已死} = 1) 那么
停止 这个脚本
执行 尝试爬坡
执行 检测能否穿越
如果 ({可穿越} = 0) 那么
执行 尝试爬坡
定义 垂直
将 {调整值} 设为 (75 - y坐标)
将 {调整值} 设为 四舍五入((75 - y坐标))
如果 (y坐标 < -75) 那么
将 {调整值} 设为 (-75 - y坐标)
将 {调整值} 设为 四舍五入((-75 - y坐标))
定义 死亡
如果 ({已死} = 0) 那么
将 {楨} 设为 0
将 {已死} 设为 1
将 {y速度} 设为 10
广播 死亡
定义 死亡判断
如果 (y坐标 < -180) 那么
广播 死亡
如果 (y坐标 < -177) 那么
执行 死亡
如果 碰到 NPC? 那么
广播 死亡
执行 死亡
如果 碰到 敌人子弹? 那么
广播 死亡
执行 死亡
定义 检测能否穿越
否则
将 {可穿越} 设为 0
定义 y移动
将 {y速度} 增加 -2
如果 ({y速度} > -20) 那么
将 {y速度} 增加 -2
如果 (({可穿越} = 1) 与 碰到 刚体? 不成立) 那么
将 {可穿越} 设为 0
如果 (({关卡} = 1) 与 (按下 ↓ 键? 与 (y坐标 > -122))) 那么
将 {可穿越} 设为 1
如果 (按下 ↑ 键? 与 ({站在地上} = 1)) 那么
如果 ({在水中} = 1) 那么
将 {y速度} 设为 14
否则
如果 ({已死} = 0) 那么
定义 滚屏
将 {调整值} 设为 0
如果 (x坐标 > 50) 那么
将 {调整值} 设为 (50 - x坐标)
如果 (x坐标 < -50) 那么
将 {调整值} 设为 (-50 - x坐标)
如果 (x坐标 > 25) 那么
将 {调整值} 设为 四舍五入((25 - x坐标))
如果 (x坐标 < -25) 那么
将 {调整值} 设为 四舍五入((-25 - x坐标))
刚体
代码
当接收到 清屏
隐藏
装饰
代码
当接收到 清屏
隐藏
传送门
代码
当接收到 lv2
将 {Y} 设为 (14 - -545)
将 {Y} 设为 (-37 - -597)
当接收到 tick
将 虚像 特效设定为 50
移到 x:({X} + {地图X}) y:({Y} + {地图Y})
如果 ((x坐标 = ({X} + {地图X})) 与 (y坐标 = ({Y} + {地图Y}))) 那么
将 虚像 特效设定为 100
移到 x:({X} + {地图x}) y:({Y} + {地图y})
如果 ((x坐标 = ({X} + {地图x})) 与 (y坐标 = ({Y} + {地图y}))) 那么
当接收到 lv5
当接收到 lv3
定义 过关
广播 过关
广播 淡出 并等待
广播 连接 lv 和 ({关卡} + 1)
广播 淡入
NPC
造型
士兵下0
士兵上0
士兵中0
炮台0
炮台1
炮台2
炮台3
炮台4
炮台5
炮台6
士兵0
士兵1
士兵2
爆炸0
爆炸1
代码
当接收到 打中NPC
如果 碰到 子弹? 那么
将 {血量} 增加 -1
如果 ({血量} < 1) 那么
删除此克隆体
广播 子弹消失
当接收到 lv2
执行 刷新NPC 士兵下2 x (53 - 333) y (19 - 376) x最小值 (53 - 333) x最大值 (53 - 333)
执行 刷新NPC 士兵上2 x (63 - 49) y (-77 - 440) x最小值 (63 - 49) x最大值 (63 - 49)
执行 刷新NPC 士兵下 x (-2 - -21) y (-140 - -7) x最小值 (-2 - -21) x最大值 (-2 - -21)
执行 刷新NPC 士兵中 x (-82 - 560) y (-78 - -615) x最小值 (-82 - 560) x最大值 (-82 - 560)
执行 刷新NPC 士兵中 x (-82 - 508) y (-78 - -615) x最小值 (-82 - 508) x最大值 (-82 - 508)
执行 刷新NPC 士兵zho x (4 - 144) y (-78 - -583) x最小值 (4 - 144) x最大值 (4 - 144)
执行 刷新NPC 士兵 x (53 - 333) y (19 - 376) x最小值 (53 - 333) x最大值 (53 - 333)
执行 刷新NPC 士兵 x (63 - 49) y (-77 - 440) x最小值 (63 - 49) x最大值 (63 - 49)
执行 刷新NPC 士兵 x (-2 - -21) y (-140 - -7) x最小值 (-2 - -21) x最大值 (-2 - -21)
执行 刷新NPC 士兵 x (-82 - 560) y (-78 - -615) x最小值 (-82 - 560) x最大值 (-82 - 560)
执行 刷新NPC 士兵 x (-82 - 508) y (-78 - -615) x最小值 (-82 - 508) x最大值 (-82 - 508)
执行 刷新NPC 士兵 x (4 - 144) y (-78 - -583) x最小值 (4 - 144) x最大值 (4 - 144)
当接收到 清屏
隐藏
当接收到 tick
如果 ({血量} < 1) 那么
删除此克隆体
移到最 前面
显示
如果 ({攻击帧} > 0) 那么
将 {攻击帧} 增加 -1
如果 ({类型} = 跑步者) 不成立 那么
执行 开火
执行 巡逻
换成 连接 {类型} 和 向上取整(({楨} / 4)) 除以 {动画帧数} 的余数 造型
如果 碰到 子弹? 那么
广播 打中NPC
将 {血量} 增加 -1
如果 ({类型} = 跑步者) 那么
执行 巡逻
否则
执行 瞄准
将 {帧} 增加 1
执行 更新造型
当接收到 lv1
执行 刷新NPC 士兵上 x (40 - -355) y (-121 - 35) x最小值 (40 - -355) x最大值 (40 - -355)
执行 刷新NPC 士兵上 x (-6 - -1045.1) y (-121 - 35) x最小值 (-6 - -1045.1) x最大值 (-6 - -1045.1)
执行 刷新NPC 士兵上 x (57 - -4705) y (-80 - -53) x最小值 (57 - -4705) x最大值 (57 - -4705)
执行 刷新NPC 士兵中 x (64 - -2420) y (-17 - -53) x最小值 (64 - -2420) x最大值 (64 - -2420)
执行 刷新NPC 士兵中 x (38 - -2833) y (48 - -53) x最小值 (38 - -2833) x最大值 (38 - -2833)
执行 刷新NPC 士兵 x (40 - -355) y (-121 - 35) x最小值 (40 - -355) x最大值 (40 - -355)
执行 刷新NPC 士兵 x (-6 - -1045.1) y (-121 - 35) x最小值 (-6 - -1045.1) x最大值 (-6 - -1045.1)
执行 刷新NPC 士兵 x (57 - -4705) y (-80 - -53) x最小值 (57 - -4705) x最大值 (57 - -4705)
执行 刷新NPC 士兵 x (64 - -2420) y (-17 - -53) x最小值 (64 - -2420) x最大值 (64 - -2420)
执行 刷新NPC 士兵 x (38 - -2833) y (48 - -53) x最小值 (38 - -2833) x最大值 (38 - -2833)
当作为克隆体启动时
移到最 前面
将 {攻击间隔} 设为 60
将 {血量} 设为 5
将 {血量} 设为 3
将 {攻击间隔} 设为 90
将 {攻击帧} 设为 15
面向 -90 方向
定义 开火
将 {😊} 增加 1
如果 ({攻击帧} = 0) 那么
将 {攻击帧} 设为 {攻击间隔}
将 {子弹方向} 设为 {瞄准方向}
将 {子弹类型} 设为 {类型}
将 {子弹X} 设为 {X}
将 {子弹Y} 设为 {Y}
克隆 敌人子弹
定义 瞄准
面向 主角
如果 {类型} 包含 士兵? 那么
如果 (绝对值(方向) < 60) 那么
将 {造型帧} 设为 0
将 {瞄准方向} 设为 (45 * (方向 / 绝对值(方向)))
停止 这个脚本
如果 (绝对值(方向) < 120) 那么
将 {造型帧} 设为 1
将 {瞄准方向} 设为 (90 * (方向 / 绝对值(方向)))
停止 这个脚本
将 {造型帧} 设为 2
将 {瞄准方向} 设为 (135 * (方向 / 绝对值(方向)))
否则
如果 (绝对值(方向) < 15) 那么
将 {造型帧} 设为 0
将 {瞄准方向} 设为 0
停止 这个脚本
如果 (绝对值(方向) < 45) 那么
将 {瞄准方向} 设为 (30 * (方向 / 绝对值(方向)))
将 {造型帧} 设为 1
停止 这个脚本
如果 (绝对值(方向) < 75) 那么
将 {造型帧} 设为 2
将 {瞄准方向} 设为 (60 * (方向 / 绝对值(方向)))
停止 这个脚本
如果 (绝对值(方向) < 105) 那么
将 {瞄准方向} 设为 (90 * (方向 / 绝对值(方向)))
将 {造型帧} 设为 3
停止 这个脚本
如果 (绝对值(方向) < 135) 那么
将 {瞄准方向} 设为 (120 * (方向 / 绝对值(方向)))
将 {造型帧} 设为 4
停止 这个脚本
如果 (绝对值(方向) < 165) 那么
将 {瞄准方向} 设为 (150 * (方向 / 绝对值(方向)))
将 {造型帧} 设为 5
停止 这个脚本
将 {瞄准方向} 设为 (180 * (方向 / 绝对值(方向)))
将 {造型帧} 设为 6
定义 更新造型
如果 ({类型} = 跑步者) 那么
将 {造型帧} 设为 向上取整(({楨} / 4)) 除以 {动画帧数} 的余数
换成 连接 {类型} 和 {造型帧} 造型
子弹
造型
image (42)
代码
当 绿旗 被点击
隐藏
将 {X} 设为 10000
将 {Y} 设为 10000
当接收到 tick
如果 碰到 NPC? 那么
广播 打中NPC
当接收到 游戏开始
删除此克隆体
当接收到 清屏
删除此克隆体
当接收到 子弹消失
当接收到 打中NPC
如果 碰到 NPC? 那么
当作为克隆体启动时
将y坐标增加 10
将y坐标增加 9
将 {X速度} 设为 12
将 {X速度} 设为 15
否则
将 {X速度} 设为 -12
将 {X速度} 设为 -15
敌人子弹
造型
image (42)
士兵
炮台
代码
当 绿旗 被点击
隐藏
当 绿旗 被点击
隐藏
将 {本体} 设为 1
当接收到 游戏开始
删除此克隆体
当接收到 清屏
删除此克隆体
当接收到 tick
如果 ({本体} = 1) 那么
隐藏
停止 这个脚本
移到 x:({X} + {地图x}) y:({Y} + {地图y})
如果 ((x坐标 = ({X} + {地图x})) 与 (y坐标 = ({Y} + {地图y}))) 那么
显示
否则
隐藏
移动 5 步
如果 (碰到 舞台边缘? 与 ({帧} > 10)) 那么
隐藏
删除此克隆体
将 {X} 设为 (x坐标 - {地图x})
将 {Y} 设为 (y坐标 - {地图y})
将 {帧} 增加 1
当作为克隆体启动时
将 {本体} 设为 0
移到最 前面
显示
将 {X} 设为 {子弹X}
将 {Y} 设为 {子弹Y}
面向 {子弹方向} 方向
如果 {子弹类型} 包含 士兵? 那么
换成 士兵 造型
否则
换成 炮台 造型
将 {帧} 设为 0