引擎3.2

复制链接 & 嵌入
链接
复制链接
嵌入网页
复制嵌入代码
还没有人打赏!
最后修改于2024年08月22日
感谢 张砷镓 的分享

操作说明

这家伙很懒,什么都没写下...

备注与谢志

这家伙很懒,什么都没写下...

开发日志

角色

Stage

代码

当 绿旗 被点击

广播 初始化

广播 lv1

将 {克隆体数} 设为 0

 

当按下 1 键

广播 lv1

 

当按下 2 键

广播 lv2

 

当按下 3 键

广播 lv3

 

当按下 4 键

广播 lv4

 

当按下 5 键

广播 lv5

 

当 绿旗 被点击

广播 初始化

广播 lv1

将 {克隆体数} 设为 0

 

当按下 4 键

广播 lv4

 

当按下 5 键

广播 lv5

 

当按下 1 键

广播 lv1

 

当按下 2 键

广播 lv2

 

当按下 3 键

广播 lv3

 

主角

代码

当按下 0 键

如果 ({DEBUG} = 1) 那么

将 {DEBUG} 设为 0

广播 debug off

否则

将 {DEBUG} 设为 1

广播 debug on

 

当接收到 lv2-1

移到 x:-33 y:103

 

当接收到 lv1

移到 x:-154 y:32

 

当接收到 lv2

移到 x:-178 y:147

 

当接收到 lv3

移到 x:109 y:17

 

当接收到 lv4

移到 x:-128 y:-1

 

当接收到 lv5

移到 x:5 y:7

 

当接收到 开始游戏

停止 该角色的其他脚本

显示

清除图形特效

重复执行

移到最 前面

执行 *主程序

广播 tick 并等待

 

当接收到 死亡

停止 该角色的其他脚本

重复执行 100 次

克隆 血

 

当接收到 初始化

执行 *角色初始化

 

定义 爬坡

将y坐标增加 1

如果 碰到 刚体? 那么

将y坐标增加 -1

将x坐标增加 (-1 * {*t调整值})

 

当按下 0 键

如果 ({DEBUG} = 1) 那么

将 {DEBUG} 设为 0

广播 debug off

否则

将 {DEBUG} 设为 1

广播 debug on

 

当接收到 lv2-1

移到 x:-33 y:103

 

当接收到 开始游戏

停止 该角色的其他脚本

显示

清除图形特效

重复执行

移到最 前面

执行 *主程序

广播 tick 并等待

 

当接收到 死亡

停止 该角色的其他脚本

重复执行 100 次

克隆 血

 

当接收到 lv1

移到 x:-154 y:32

 

当接收到 lv2

移到 x:-178 y:147

 

当接收到 lv3

移到 x:109 y:17

 

当接收到 lv4

移到 x:-128 y:-1

 

当接收到 lv5

移到 x:5 y:7

 

当接收到 初始化

执行 *角色初始化

 

定义 侦测边缘

将 {z站在边缘} 设为 0

将x坐标增加 1

如果 碰到 刚体? 那么

将x坐标增加 -1

否则

将 {z站在边缘} 设为 1

定义 y移动

如果 碰到 梯子? 那么

执行 爬梯子

停止 这个脚本

将x坐标增加 -1

如果 碰到 刚体? 那么

将x坐标增加 1

否则

将 {z站在边缘} 设为 1

将 {z主角在爬梯子?} 设为 0

如果 (({z主角y速度} > {*y速度下限}) 与 ({DEBUG} = 0)) 那么

将 {z主角y速度} 增加 -2

将 {z站在地面} 设为 0

重复执行 绝对值({z主角y速度}) 次

将 {*t调整值} 设为 ({z主角y速度} / 绝对值({z主角y速度}))

将y坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 侦测地面

如果 ({z站在地面} = 1) 那么

将 {跳跃次数} 设为 0

如果 ({DEBUG} = 0) 那么

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

如果 ({跳跃次数} < {*z最大跳跃次数}) 那么

如果 ({按下跳跃?} = 0) 那么

将 {z主角y速度} 设为 10

将 {跳跃次数} 增加 1

将 {y速度跳跃加速时} 设为 计时器

将 {按下跳跃?} 设为 1

如果 ({跳跃次数} > {*z最大跳跃次数}) 不成立 那么

如果 (((计时器 - {y速度跳跃加速时}) < {*z最长跳跃y速度加速时长}) 与 ((计时器 - {y速度跳跃加速时}) = 0) 不成立) 那么

将 {z主角y速度} 增加 5

否则

将 {y速度跳跃加速时} 设为 0

将 {按下跳跃?} 设为 0

否则

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

将 {z主角y速度} 设为 5

否则

如果 按下 ↓ 键? 那么

将 {z主角y速度} 设为 -5

否则

将 {z主角y速度} 设为 0

 

定义 水平滚动

将 {*t调整值} 设为 0

如果 (x坐标 > 100) 那么

将 {*t调整值} 设为 (100 - x坐标)

如果 (x坐标 < -100) 那么

将 {*t调整值} 设为 (-100 - x坐标)

如果 (({d地图X} + {*t调整值}) > {地图X最大值}) 那么

将 {*t调整值} 设为 ({地图X最大值} - {d地图X})

如果 (({d地图X} + {*t调整值}) < {地图X最小值}) 那么

将 {*t调整值} 设为 ({地图X最小值} - {d地图X})

将 {d地图X} 增加 {*t调整值}

将x坐标增加 {*t调整值}

 

定义 y移动

如果 碰到 梯子? 那么

执行 爬梯子

停止 这个脚本

否则

将 {z主角在爬梯子?} 设为 0

如果 (({z主角y速度} > {*y速度下限}) 与 ({DEBUG} = 0)) 那么

将 {z主角y速度} 增加 -2

将 {z站在地面} 设为 0

重复执行 绝对值({z主角y速度}) 次

将 {*t调整值} 设为 ({z主角y速度} / 绝对值({z主角y速度}))

将y坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 侦测地面

如果 ({z站在地面} = 1) 那么

将 {跳跃次数} 设为 0

如果 ({DEBUG} = 0) 那么

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

如果 ({跳跃次数} < {*z最大跳跃次数}) 那么

如果 ({按下跳跃?} = 0) 那么

将 {z主角y速度} 设为 10

将 {跳跃次数} 增加 1

将 {y速度跳跃加速时} 设为 计时器

将 {按下跳跃?} 设为 1

如果 ({跳跃次数} > {*z最大跳跃次数}) 不成立 那么

如果 (((计时器 - {y速度跳跃加速时}) < {*z最长跳跃y速度加速时长}) 与 ((计时器 - {y速度跳跃加速时}) = 0) 不成立) 那么

将 {z主角y速度} 增加 5

否则

将 {y速度跳跃加速时} 设为 0

将 {按下跳跃?} 设为 0

否则

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

将 {z主角y速度} 设为 5

否则

如果 按下 ↓ 键? 那么

将 {z主角y速度} 设为 -5

否则

将 {z主角y速度} 设为 0

 

定义 侦测地面

如果 ({*t调整值} < 1) 那么

将 {z站在地面} 设为 1

执行 侦测边缘

如果 ({z站在边缘} = 0) 那么

将y坐标增加 (-1 * {*t调整值})

将 {z主角y速度} 设为 0

否则

将 {z站在地面} 设为 0

 

定义 改变造型

如果 ({状态帧数上限} 的第 {z状态编号} 项 > 0) 那么

如果 (({z控制动画帧数} - {d动画帧数}) < ({状态帧数上限} 的第 {z状态编号} 项 - 1)) 那么

否则

将 {d动画帧数} 设为 (({z控制动画帧数} - {状态帧数上限} 的第 {z状态编号} 项) + 1)

否则

如果 (({z控制动画帧数} - {d动画帧数}) < ({状态帧数} 的第 {z状态编号} 项 - 1)) 那么

否则

将 {d动画帧数} 设为 {z控制动画帧数}

将 {z控制动画帧数} 增加 {*d动画倍率}

换成 连接 {*z状态列表} 的第 {z状态编号} 项 和 向下取整(({z控制动画帧数} - {d动画帧数})) 造型

 

定义 初始化列表

删除 {z主角状态} 的全部项目

删除 {*z状态列表} 的全部项目

将 站 加入 {*z状态列表}

将 走 加入 {*z状态列表}

将 掉落 加入 {*z状态列表}

将 跳 加入 {*z状态列表}

将 死亡 加入 {*z状态列表}

将 第4关楼梯显示 加入 {*z状态列表}

将 按下刺第一个按钮 加入 {*z状态列表}

删除 {状态帧数} 的全部项目

将 4 加入 {状态帧数}

将 4 加入 {状态帧数}

将 2 加入 {状态帧数}

将 4 加入 {状态帧数}

删除 {状态帧数上限} 的全部项目

将 -1 加入 {状态帧数上限}

将 -1 加入 {状态帧数上限}

将 2 加入 {状态帧数上限}

将 4 加入 {状态帧数上限}

 

定义 *角色初始化

将旋转方式设为 左右翻转

将 {DEBUG} 设为 0

将 {z主角y速度} 设为 0

将 {z主角y速度} 设为 0

将 {z重力?} 设为 1

将 {z控制动画帧数} 设为 0

将 {d动画帧数} 设为 0

将 {*d动画倍率} 设为 0.7

将 {z状态编号} 设为 站

将 {x血量} 设为 1

将 {按下跳跃?} 设为 0

将 {*z最大跳跃次数} 设为 2

将 {跳跃次数} 设为 0

将 {*z最长跳跃y速度加速时长} 设为 0.1

将 {y速度跳跃加速时} 设为 0

将 {*d地图非线性缩放速度} 设为 0.5

将 {d地图缩放(百分之)} 设为 100

将 {debug快捷键按下?} 设为 0

将 {z主角在爬梯子?} 设为 0

执行 初始化列表

 

定义 *检测状态

如果 (({z主角y速度} = 0) 与 ({z站在地面} = 1)) 那么

如果 ({z主角x速度} = 0) 那么

如果 ({z状态编号} = 1) 那么

否则

将 {z状态编号} 设为 1

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z状态编号} = 2) 那么

否则

将 {z状态编号} 设为 2

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z主角y速度} < 0) 那么

如果 ({z状态编号} = 3) 那么

否则

将 {z状态编号} 设为 3

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z状态编号} = 4) 那么

否则

将 {z状态编号} 设为 4

将 {d动画帧数} 设为 {z控制动画帧数}

如果 ({g关卡} = 4) 那么

执行 *在 (({z主角在爬梯子?} = 1) 或 ((({X} > 311) 与 ({X} < 513)) 与 ({Y} < -387))) 时设置状态 6

 

定义 垂直滚动

将 {*t调整值} 设为 0

如果 (y坐标 > 50) 那么

将 {*t调整值} 设为 (50 - y坐标)

如果 (y坐标 < -50) 那么

将 {*t调整值} 设为 (-50 - y坐标)

如果 (({d地图Y} + {*t调整值}) > {地图Y最大值}) 那么

将 {*t调整值} 设为 ({地图Y最大值} - {d地图Y})

如果 (({d地图Y} + {*t调整值}) < {地图Y最小值}) 那么

将 {*t调整值} 设为 ({地图Y最小值} - {d地图Y})

将 {d地图Y} 增加 {*t调整值}

将y坐标增加 {*t调整值}

如果 (y坐标 < -179) 那么

执行 死亡

 

定义 *主程序

换成 hitbox 造型

如果 ({DEBUG} = 0) 那么

执行 x移动

执行 y移动

执行 水平滚动

执行 垂直滚动

执行 设置虚拟坐标

否则

执行 侦测保留debug按键

如果 ({flag} = 0) 那么

执行 x移动

执行 y移动

执行 水平滚动

执行 垂直滚动

执行 设置虚拟坐标

执行 *检测状态

执行 改变造型

执行 检测陷阱

 

定义 x移动

将 {z主角x速度} 设为 0

如果 (按下 ← 键? 或 按下 a 键?) 那么

面向 -90 方向

将 {z主角x速度} 增加 -10

如果 (按下 → 键? 或 按下 d 键?) 那么

面向 90 方向

将 {z主角x速度} 增加 10

重复执行 绝对值({z主角x速度}) 次

将 {*t调整值} 设为 ({z主角x速度} / 绝对值({z主角x速度}))

将x坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 爬坡

 

定义 *在 {条件} 时设置状态 {状态}

如果 {条件} 那么

执行 *进入状态 {状态}

否则

执行 *解除状态 {状态}

 

定义 设置虚拟坐标

将 {X} 设为 (x坐标 - {d地图X})

将 {Y} 设为 (y坐标 - {d地图Y})

如果 ({DEBUG} = 1) 那么

将 {鼠标x} 设为 (鼠标的x坐标 - {d地图X})

将 {鼠标y} 设为 (鼠标的y坐标 - {d地图Y})

 

定义 侦测保留debug按键

将 {flag} 设为 0

 

定义 *进入状态 {名称}

如果 {z主角状态} 包含 {名称} ? 不成立 那么

将 {名称} 加入 {z主角状态}

 

定义 *解除状态 {名称}

删除 {z主角状态} 的第 {z主角状态} 中第一个 {名称} 的编号 项

 

定义 爬梯子

将 {z主角在爬梯子?} 设为 1

将 {z站在地面} 设为 1

将 {z主角y速度} 设为 0

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

将 {z主角y速度} 设为 5

如果 (按下 ↓ 键? 或 按下 s 键?) 那么

将 {z主角y速度} 设为 -5

重复执行 绝对值({z主角y速度}) 次

将 {*t调整值} 设为 ({z主角y速度} / 绝对值({z主角y速度}))

将y坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 侦测地面

 

定义 检测陷阱

如果 碰到 陷阱? 那么

执行 死亡

 

定义 死亡

如果 ({z状态编号} = 5) 不成立 那么

将 {z主角y速度} 设为 0

将 {z状态编号} 设为 5

将 虚像 特效设定为 100

广播 死亡

 

定义 *z分割线|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

定义 改变造型

如果 ({状态帧数上限} 的第 {z状态编号} 项 > 0) 那么

如果 (({z控制动画帧数} - {d动画帧数}) < ({状态帧数上限} 的第 {z状态编号} 项 - 1)) 那么

否则

将 {d动画帧数} 设为 (({z控制动画帧数} - {状态帧数上限} 的第 {z状态编号} 项) + 1)

否则

如果 (({z控制动画帧数} - {d动画帧数}) < ({状态帧数} 的第 {z状态编号} 项 - 1)) 那么

否则

将 {d动画帧数} 设为 {z控制动画帧数}

将 {z控制动画帧数} 增加 {*d动画倍率}

换成 连接 {*z状态列表} 的第 {z状态编号} 项 和 向下取整(({z控制动画帧数} - {d动画帧数})) 造型

 

定义 *角色初始化

将旋转方式设为 左右翻转

将 {DEBUG} 设为 0

将 {z主角y速度} 设为 0

将 {z主角y速度} 设为 0

将 {z重力?} 设为 1

将 {z控制动画帧数} 设为 0

将 {d动画帧数} 设为 0

将 {*d动画倍率} 设为 0.7

将 {z状态编号} 设为 站

将 {x血量} 设为 1

将 {按下跳跃?} 设为 0

将 {*z最大跳跃次数} 设为 2

将 {跳跃次数} 设为 0

将 {*z最长跳跃y速度加速时长} 设为 0.1

将 {y速度跳跃加速时} 设为 0

将 {*d地图非线性缩放速度} 设为 0.5

将 {d地图缩放(百分之)} 设为 100

将 {debug快捷键按下?} 设为 0

将 {z主角在爬梯子?} 设为 0

执行 初始化列表

 

定义 垂直滚动

将 {*t调整值} 设为 0

如果 (y坐标 > 50) 那么

将 {*t调整值} 设为 (50 - y坐标)

如果 (y坐标 < -50) 那么

将 {*t调整值} 设为 (-50 - y坐标)

如果 (({d地图Y} + {*t调整值}) > {地图Y最大值}) 那么

将 {*t调整值} 设为 ({地图Y最大值} - {d地图Y})

如果 (({d地图Y} + {*t调整值}) < {地图Y最小值}) 那么

将 {*t调整值} 设为 ({地图Y最小值} - {d地图Y})

将 {d地图Y} 增加 {*t调整值}

将y坐标增加 {*t调整值}

如果 (y坐标 < -179) 那么

执行 死亡

 

定义 *主程序

换成 hitbox 造型

如果 ({DEBUG} = 0) 那么

执行 x移动

执行 y移动

执行 水平滚动

执行 垂直滚动

执行 设置虚拟坐标

否则

执行 侦测保留debug按键

如果 ({flag} = 0) 那么

执行 x移动

执行 y移动

执行 水平滚动

执行 垂直滚动

执行 设置虚拟坐标

执行 *检测状态

执行 改变造型

执行 检测陷阱

 

定义 侦测地面

如果 ({*t调整值} < 1) 那么

将 {z站在地面} 设为 1

执行 侦测边缘

如果 ({z站在边缘} = 0) 那么

将y坐标增加 (-1 * {*t调整值})

将 {z主角y速度} 设为 0

否则

将 {z站在地面} 设为 0

 

定义 爬坡

将y坐标增加 1

如果 碰到 刚体? 那么

将y坐标增加 -1

将x坐标增加 (-1 * {*t调整值})

 

定义 侦测边缘

将 {z站在边缘} 设为 0

将x坐标增加 1

如果 碰到 刚体? 那么

将x坐标增加 -1

否则

将 {z站在边缘} 设为 1

停止 这个脚本

将x坐标增加 -1

如果 碰到 刚体? 那么

将x坐标增加 1

否则

将 {z站在边缘} 设为 1

 

定义 水平滚动

将 {*t调整值} 设为 0

如果 (x坐标 > 100) 那么

将 {*t调整值} 设为 (100 - x坐标)

如果 (x坐标 < -100) 那么

将 {*t调整值} 设为 (-100 - x坐标)

如果 (({d地图X} + {*t调整值}) > {地图X最大值}) 那么

将 {*t调整值} 设为 ({地图X最大值} - {d地图X})

如果 (({d地图X} + {*t调整值}) < {地图X最小值}) 那么

将 {*t调整值} 设为 ({地图X最小值} - {d地图X})

将 {d地图X} 增加 {*t调整值}

将x坐标增加 {*t调整值}

 

定义 检测陷阱

如果 碰到 陷阱? 那么

执行 死亡

 

定义 死亡

如果 ({z状态编号} = 5) 不成立 那么

将 {z主角y速度} 设为 0

将 {z状态编号} 设为 5

将 虚像 特效设定为 100

广播 死亡

 

定义 x移动

将 {z主角x速度} 设为 0

如果 (按下 ← 键? 或 按下 a 键?) 那么

面向 -90 方向

将 {z主角x速度} 增加 -10

如果 (按下 → 键? 或 按下 d 键?) 那么

面向 90 方向

将 {z主角x速度} 增加 10

重复执行 绝对值({z主角x速度}) 次

将 {*t调整值} 设为 ({z主角x速度} / 绝对值({z主角x速度}))

将x坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 爬坡

 

定义 爬梯子

将 {z主角在爬梯子?} 设为 1

将 {z站在地面} 设为 1

将 {z主角y速度} 设为 0

如果 (按下 ↑ 键? 或 (按下 w 键? 或 按下 空格 键?)) 那么

将 {z主角y速度} 设为 5

如果 (按下 ↓ 键? 或 按下 s 键?) 那么

将 {z主角y速度} 设为 -5

重复执行 绝对值({z主角y速度}) 次

将 {*t调整值} 设为 ({z主角y速度} / 绝对值({z主角y速度}))

将y坐标增加 {*t调整值}

如果 碰到 刚体? 那么

执行 侦测地面

 

定义 设置虚拟坐标

将 {X} 设为 (x坐标 - {d地图X})

将 {Y} 设为 (y坐标 - {d地图Y})

如果 ({DEBUG} = 1) 那么

将 {鼠标x} 设为 (鼠标的x坐标 - {d地图X})

将 {鼠标y} 设为 (鼠标的y坐标 - {d地图Y})

 

定义 *检测状态

如果 (({z主角y速度} = 0) 与 ({z站在地面} = 1)) 那么

如果 ({z主角x速度} = 0) 那么

如果 ({z状态编号} = 1) 那么

否则

将 {z状态编号} 设为 1

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z状态编号} = 2) 那么

否则

将 {z状态编号} 设为 2

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z主角y速度} < 0) 那么

如果 ({z状态编号} = 3) 那么

否则

将 {z状态编号} 设为 3

将 {d动画帧数} 设为 {z控制动画帧数}

否则

如果 ({z状态编号} = 4) 那么

否则

将 {z状态编号} 设为 4

将 {d动画帧数} 设为 {z控制动画帧数}

如果 ({g关卡} = 4) 那么

执行 *在 (({z主角在爬梯子?} = 1) 或 ((({X} > 311) 与 ({X} < 513)) 与 ({Y} < -387))) 时设置状态 6

如果 ({g关卡} = 5) 那么

如果 {z主角状态} 包含 7 ? 那么

执行 ​​log​​

如果 ({X} < 570) 那么

执行 *进入状态 8

执行 *解除状态 7

如果 ({X} < 372) 那么

执行 *进入状态 9

执行 *解除状态 8

 

定义 初始化列表

删除 {z主角状态} 的全部项目

删除 {*z状态列表} 的全部项目

将 站 加入 {*z状态列表}

将 走 加入 {*z状态列表}

将 掉落 加入 {*z状态列表}

将 跳 加入 {*z状态列表}

将 死亡 加入 {*z状态列表}

将 第4关楼梯显示 加入 {*z状态列表}

将 按下刺第一个按钮 加入 {*z状态列表}

将 x555掉苹果 加入 {*z状态列表}

删除 {状态帧数} 的全部项目

将 4 加入 {状态帧数}

将 4 加入 {状态帧数}

将 2 加入 {状态帧数}

将 4 加入 {状态帧数}

删除 {状态帧数上限} 的全部项目

将 -1 加入 {状态帧数上限}

将 -1 加入 {状态帧数上限}

将 2 加入 {状态帧数上限}

将 4 加入 {状态帧数上限}

 

定义 侦测保留debug按键

将 {flag} 设为 0

 

定义 *进入状态 {名称}

如果 {z主角状态} 包含 {名称} ? 不成立 那么

将 {名称} 加入 {z主角状态}

 

定义 *解除状态 {名称}

删除 {z主角状态} 的第 {z主角状态} 中第一个 {名称} 的编号 项

 

定义 *在 {条件} 时设置状态 {状态}

如果 {条件} 那么

执行 *进入状态 {状态}

否则

执行 *解除状态 {状态}

 

定义 *z分割线|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

道具

代码

当 绿旗 被点击

将 {ISBENTI} 设为 1

 

当接收到 tick

执行 侦测debug按键

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 ((x坐标 = ({d地图X} + {X})) 与 (y坐标 = ({d地图Y} + {Y}))) 那么

如果 ({g关卡} = 5) 那么

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 碰到 主角? 那么

将 亮度 特效设定为 10

如果 (按下 ↓ 键? 或 按下 j 键?) 那么

换成 按钮1 造型

执行 *进入状态 7

否则

清除图形特效

否则

隐藏

否则

隐藏

 

当接收到 debug on

隐藏

将 {j角色} 设为 高亮

克隆 自己

将 {j角色} 设为 盘

 

当接收到 debug off

删除此克隆体

 

当接收到 初始化

将 {k快捷debug键} 设为 ab

删除 {a按下?} 的全部项目

重复执行 {k快捷debug键} 的字符数 次

将 0 加入 {a按下?}

隐藏

 

当接收到 lv5

隐藏

如果 ({ISBENTI} = 1) 那么

将 {X} 设为 (132 - -550)

将 {Y} 设为 (-29 - 1)

将 {type} 设为 button5-1

克隆 自己

将 {type} 设为 0

否则

删除此克隆体

 

当作为克隆体启动时

将 {ISBENTI} 设为 0

显示

换成 按钮0 造型

 

定义 新建传送门 {↖️x} {↖️y} {↘️x} {↘️y} 关卡 {关卡} 传送 {x} {y}

在 {↖️x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↖️y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↘️x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↘️y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {关卡} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

 

定义 侦测debug按键

如果 ({DEBUG} = 1) 那么

如果 ({j角色} = 高亮) 那么

如果 ({a按下?} 的第 1 项 = 1) 那么

移到 x:{kx} y:{ky}

显示

换成 {return} 造型

移到最 前面

否则

隐藏

如果 ({j角色} = 盘) 那么

将 {i} 设为 1

重复执行 {k快捷debug键} 的字符数 次

如果 按下 {k快捷debug键} 的第 {i} 个字符 键? 那么

将 {debug快捷键按下?} 设为 1

显示

换成 {k快捷debug键} 的第 {i} 个字符 造型

如果 ({a按下?} 的第 {i} 项 = 0) 那么

将 {a按下?} 的第 {i} 项替换为 1

将旋转方式设为 不可旋转

将 {kx} 设为 鼠标的x坐标

将 {ky} 设为 鼠标的y坐标

移到 x:{kx} y:{ky}

否则

面向 鼠标指针

如果 (({kx} = 鼠标的x坐标) 与 ({ky} = 鼠标的y坐标)) 那么

将 {return} 设为 4

否则

如果 (绝对值(方向) < 45) 那么

将 {return} 设为 1

否则

如果 (方向 > 0) 那么

如果 (方向 < 135) 那么

将 {return} 设为 2

否则

将 {return} 设为 3

否则

如果 (方向 < -135) 那么

将 {return} 设为 3

否则

将 {return} 设为 4

否则

如果 ({a按下?} 的第 {i} 项 = 1) 那么

将 {a按下?} 的第 {i} 项替换为 0

将 {debug快捷键按下?} 设为 0

隐藏

将 {i} 增加 1

 

定义 *在 {条件} 时设置状态 {状态}

如果 {条件} 那么

执行 *进入状态 {状态}

否则

执行 *解除状态 {状态}

 

定义 *进入状态 {名称}

如果 {z主角状态} 包含 {名称} ? 不成立 那么

将 {名称} 加入 {z主角状态}

 

定义 *解除状态 {名称}

删除 {z主角状态} 的第 {z主角状态} 中第一个 {名称} 的编号 项

 

定义 初始化传送门列表

删除 {c传送门} 的全部项目

 

当 绿旗 被点击

将 {ISBENTI} 设为 1

 

当接收到 tick

执行 侦测debug按键

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 ((x坐标 = ({d地图X} + {X})) 与 (y坐标 = ({d地图Y} + {Y}))) 那么

如果 ({g关卡} = 5) 那么

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 碰到 主角? 那么

将 亮度 特效设定为 10

如果 (按下 ↓ 键? 或 按下 j 键?) 那么

换成 按钮1 造型

执行 *进入状态 7

否则

清除图形特效

否则

隐藏

否则

隐藏

 

当接收到 debug on

隐藏

将 {j角色} 设为 高亮

克隆 自己

将 {j角色} 设为 盘

 

当接收到 debug off

删除此克隆体

 

当接收到 初始化

将 {k快捷debug键} 设为 ab

删除 {a按下?} 的全部项目

重复执行 {k快捷debug键} 的字符数 次

将 0 加入 {a按下?}

隐藏

 

当接收到 lv5

删除 {z主角状态} 的全部项目

隐藏

如果 ({ISBENTI} = 1) 那么

将 {X} 设为 (132 - -550)

将 {Y} 设为 (-29 - 1)

将 {type} 设为 button5-1

克隆 自己

将 {type} 设为 0

否则

删除此克隆体

 

当作为克隆体启动时

将 {ISBENTI} 设为 0

显示

换成 按钮0 造型

 

定义 *在 {条件} 时设置状态 {状态}

如果 {条件} 那么

执行 *进入状态 {状态}

否则

执行 *解除状态 {状态}

 

定义 *进入状态 {名称}

如果 {z主角状态} 包含 {名称} ? 不成立 那么

将 {名称} 加入 {z主角状态}

 

定义 侦测debug按键

如果 ({DEBUG} = 1) 那么

如果 ({j角色} = 高亮) 那么

如果 ({a按下?} 的第 1 项 = 1) 那么

移到 x:{kx} y:{ky}

显示

换成 {return} 造型

移到最 前面

否则

隐藏

如果 ({j角色} = 盘) 那么

将 {i} 设为 1

重复执行 {k快捷debug键} 的字符数 次

如果 按下 {k快捷debug键} 的第 {i} 个字符 键? 那么

将 {debug快捷键按下?} 设为 1

显示

换成 {k快捷debug键} 的第 {i} 个字符 造型

如果 ({a按下?} 的第 {i} 项 = 0) 那么

将 {a按下?} 的第 {i} 项替换为 1

将旋转方式设为 不可旋转

将 {kx} 设为 鼠标的x坐标

将 {ky} 设为 鼠标的y坐标

移到 x:{kx} y:{ky}

否则

面向 鼠标指针

如果 (({kx} = 鼠标的x坐标) 与 ({ky} = 鼠标的y坐标)) 那么

将 {return} 设为 4

否则

如果 (绝对值(方向) < 45) 那么

将 {return} 设为 1

否则

如果 (方向 > 0) 那么

如果 (方向 < 135) 那么

将 {return} 设为 2

否则

将 {return} 设为 3

否则

如果 (方向 < -135) 那么

将 {return} 设为 3

否则

将 {return} 设为 4

否则

如果 ({a按下?} 的第 {i} 项 = 1) 那么

将 {a按下?} 的第 {i} 项替换为 0

将 {debug快捷键按下?} 设为 0

隐藏

将 {i} 增加 1

 

定义 初始化传送门列表

删除 {c传送门} 的全部项目

 

定义 *解除状态 {名称}

删除 {z主角状态} 的第 {z主角状态} 中第一个 {名称} 的编号 项

 

定义 新建传送门 {↖️x} {↖️y} {↘️x} {↘️y} 关卡 {关卡} 传送 {x} {y}

在 {↖️x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↖️y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↘️x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {↘️y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {关卡} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {x} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

在 {y} 的第 {c传送门} 中第一个 连接 lv 和 ({g关卡} + 1) 的编号 项前插入 {c传送门}

 

交互地图

代码

当接收到 初始化

执行 初始化常量和变量

 

当接收到 初始化

执行 初始化常量和变量

 

定义 初始化常量和变量

删除 {*地图属性列表} 的全部项目

将 名称 加入 {*地图属性列表}

将 x宽度 加入 {*地图属性列表}

将 y高度 加入 {*地图属性列表}

将 图块宽x 加入 {*地图属性列表}

将 图块高y 加入 {*地图属性列表}

将 属性开始项目(从名称开记) 加入 {*地图属性列表}

 

定义 在地图 {地图} 新建属性名称: {属性名称}

在 {属性名称} 的第 ({地图们} 中第一个 {地图} 的编号 + {地图们} 的第 ({地图们} 中第一个 {地图} 的编号 + 5) 项) 项前插入 {地图们}

 

定义 删除地图 {名称}

将 {s删除次数} 设为 ({*地图属性列表} 的项目数 + ({地图们} 的第 ({地图们} 中第一个 {名称} 的编号 + 1) 项 * {地图们} 的第 ({地图们} 中第一个 {名称} 的编号 + 2) 项))

将 {s删除位置} 设为 {地图们} 中第一个 {名称} 的编号

重复执行 {s删除次数} 次

删除 {地图们} 的第 {s删除位置} 项

 

定义 新建属性名称: {属性名称}

执行 在地图 {d地图指针} 新建属性名称: {属性名称}

 

定义 设置地图指针 {地图名}

将 {d地图指针} 设为 {地图名}

 

定义 新建全局属性 {属性名称}

 

定义 更改图块属性 {x} {y} 属性名称: {属性名称:}

 

定义 *z分割线|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

定义 新建属性名称: {属性名称}

执行 在地图 {d地图指针} 新建属性名称: {属性名称}

 

定义 设置地图指针 {地图名}

将 {d地图指针} 设为 {地图名}

 

定义 删除地图 {名称}

将 {s删除次数} 设为 ({*地图属性列表} 的项目数 + ({地图们} 的第 ({地图们} 中第一个 {名称} 的编号 + 1) 项 * {地图们} 的第 ({地图们} 中第一个 {名称} 的编号 + 2) 项))

将 {s删除位置} 设为 {地图们} 中第一个 {名称} 的编号

重复执行 {s删除次数} 次

删除 {地图们} 的第 {s删除位置} 项

 

定义 初始化常量和变量

删除 {*地图属性列表} 的全部项目

将 名称 加入 {*地图属性列表}

将 x宽度 加入 {*地图属性列表}

将 y高度 加入 {*地图属性列表}

将 图块宽x 加入 {*地图属性列表}

将 图块高y 加入 {*地图属性列表}

将 属性开始项目(从名称开记) 加入 {*地图属性列表}

 

定义 在地图 {地图} 新建属性名称: {属性名称}

在 {属性名称} 的第 ({地图们} 中第一个 {地图} 的编号 + {地图们} 的第 ({地图们} 中第一个 {地图} 的编号 + 5) 项) 项前插入 {地图们}

 

定义 新建全局属性 {属性名称}

 

定义 更改图块属性 {x} {y} 属性名称: {属性名称:}

 

定义 *z分割线|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

刚体

代码

当接收到 lv4

换成 4 造型

换成 4 背景

将 {g关卡} 设为 4

将 {d地图X} 设为 547

将 {d地图Y} 设为 263

将 {地图宽度} 设为 1575

将 {地图高度} 设为 964

执行 确定边界

广播 开始游戏

 

当接收到 lv5

换成 5 造型

换成 5 背景

将 {g关卡} 设为 5

将 {d地图X} 设为 -482

将 {d地图Y} 设为 27

将 {地图宽度} 设为 1580

将 {地图高度} 设为 800

执行 确定边界

广播 开始游戏

 

当接收到 lv2-1

将 {g关卡} 设为 2-1

将 {d地图X} 设为 -85

将 {d地图Y} 设为 -460

 

当接收到 tick

移到 x:{d地图X} y:{d地图Y}

 

当接收到 lv1

换成 1 造型

换成 1 背景

将 {g关卡} 设为 1

将 {d地图X} 设为 558

将 {d地图Y} 设为 284

将 {地图宽度} 设为 1600

将 {地图高度} 设为 960

执行 确定边界

广播 开始游戏

 

当接收到 lv2

换成 2 造型

换成 2 背景

将 {g关卡} 设为 2

将 {d地图X} 设为 557

将 {d地图Y} 设为 -460

将 {地图宽度} 设为 1600

将 {地图高度} 设为 1280

执行 确定边界

广播 开始游戏

 

当接收到 lv3

换成 3 造型

换成 3 背景

将 {g关卡} 设为 3

将 {d地图X} 设为 418

将 {d地图Y} 设为 142

将 {地图宽度} 设为 1617

将 {地图高度} 设为 979

执行 确定边界

广播 开始游戏

 

定义 确定边界

将 {地图X最大值} 设为 (({地图宽度} - 480) / 2)

将 {地图Y最大值} 设为 (({地图高度} - 360) / 2)

将 {地图X最小值} 设为 (-1 * {地图X最大值})

将 {地图Y最小值} 设为 (-1 * {地图Y最大值})

 

当接收到 lv5

换成 5 造型

换成 5 背景

将 {g关卡} 设为 5

将 {d地图X} 设为 -482

将 {d地图Y} 设为 27

将 {地图宽度} 设为 1580

将 {地图高度} 设为 800

执行 确定边界

广播 开始游戏

 

当接收到 lv2-1

将 {g关卡} 设为 2-1

将 {d地图X} 设为 -85

将 {d地图Y} 设为 -460

 

当接收到 tick

移到 x:{d地图X} y:{d地图Y}

 

当接收到 lv1

换成 1 造型

换成 1 背景

将 {g关卡} 设为 1

将 {d地图X} 设为 558

将 {d地图Y} 设为 284

将 {地图宽度} 设为 1600

将 {地图高度} 设为 960

执行 确定边界

广播 开始游戏

 

当接收到 lv2

换成 2 造型

换成 2 背景

将 {g关卡} 设为 2

将 {d地图X} 设为 557

将 {d地图Y} 设为 -460

将 {地图宽度} 设为 1600

将 {地图高度} 设为 1280

执行 确定边界

广播 开始游戏

 

当接收到 lv3

换成 3 造型

换成 3 背景

将 {g关卡} 设为 3

将 {d地图X} 设为 418

将 {d地图Y} 设为 142

将 {地图宽度} 设为 1617

将 {地图高度} 设为 979

执行 确定边界

广播 开始游戏

 

当接收到 lv4

换成 4 造型

换成 4 背景

将 {g关卡} 设为 4

将 {d地图X} 设为 547

将 {d地图Y} 设为 263

将 {地图宽度} 设为 1575

将 {地图高度} 设为 964

执行 确定边界

广播 开始游戏

 

定义 确定边界

将 {地图X最大值} 设为 (({地图宽度} - 480) / 2)

将 {地图Y最大值} 设为 (({地图高度} - 360) / 2)

将 {地图X最小值} 设为 (-1 * {地图X最大值})

将 {地图Y最小值} 设为 (-1 * {地图Y最大值})

 

装饰

代码

当接收到 tick

移到最 后面

移到 x:{d地图X} y:{d地图Y}

如果 ({DEBUG} = 1) 那么

将 虚像 特效设定为 30

否则

清除图形特效

 

当接收到 lv1

换成 1 造型

 

当接收到 lv2

换成 2 造型

 

当接收到 lv3

换成 3 造型

 

当接收到 lv4

换成 4 造型

 

当接收到 lv5

换成 5 造型

 

当接收到 lv1

换成 1 造型

 

当接收到 lv2

换成 2 造型

 

当接收到 lv3

换成 3 造型

 

当接收到 lv4

换成 4 造型

 

当接收到 lv5

换成 5 造型

 

当接收到 tick

移到最 后面

移到 x:{d地图X} y:{d地图Y}

如果 ({DEBUG} = 1) 那么

将 虚像 特效设定为 30

否则

清除图形特效

 

梯子

代码

当接收到 lv1

移到最 前面

换成 1 造型

 

当接收到 lv2

移到最 前面

换成 2 造型

 

当接收到 lv3

换成 3 造型

移到最 前面

 

当接收到 lv4

换成 4 造型

移到最 前面

 

当接收到 lv5

换成 5 造型

移到最 前面

 

当接收到 tick

如果 (({g关卡} = 5) 或 ({g关卡} = 4)) 那么

移到 x:{d地图X} y:{d地图Y}

如果 ({g关卡} = 4) 那么

显示

如果 {z主角状态} 包含 6 ? 那么

将 虚像 特效增加 -5

如果 ({x虚像特效} > 0) 那么

将 {x虚像特效} 增加 -5

否则

将 虚像 特效增加 5

如果 ({x虚像特效} < 99) 那么

将 {x虚像特效} 增加 5

否则

隐藏

否则

显示

清除图形特效

 

当接收到 初始化

清除图形特效

隐藏

将 {x虚像特效} 设为 0

 

当接收到 lv1

移到最 前面

换成 1 造型

 

当接收到 lv2

移到最 前面

换成 2 造型

 

当接收到 lv3

换成 3 造型

移到最 前面

 

当接收到 lv4

换成 4 造型

移到最 前面

 

当接收到 lv5

换成 5 造型

移到最 前面

 

当接收到 tick

如果 (({g关卡} = 5) 或 ({g关卡} = 4)) 那么

移到 x:{d地图X} y:{d地图Y}

如果 ({g关卡} = 4) 那么

显示

如果 {z主角状态} 包含 6 ? 那么

将 虚像 特效增加 -5

如果 ({x虚像特效} > 0) 那么

将 {x虚像特效} 增加 -5

否则

将 虚像 特效增加 5

如果 ({x虚像特效} < 99) 那么

将 {x虚像特效} 增加 5

否则

隐藏

否则

显示

清除图形特效

 

当接收到 初始化

清除图形特效

隐藏

将 {x虚像特效} 设为 0

 

陷阱

造型

apple

造型1

boss!!!

 

代码

当 绿旗 被点击

将 {ISBENTI} 设为 1

 

当接收到 lv1

换成 1 造型

 

当接收到 lv2

换成 2 造型

 

当接收到 lv3

换成 3 造型

 

当接收到 lv4

换成 4 造型

 

当接收到 lv5

换成 5 造型

 

当接收到 tick

如果 ({ISBENTI} = 1) 那么

显示

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

否则

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 ((x坐标 = ({d地图X} + {X})) 与 (y坐标 = ({d地图Y} + {Y}))) 那么

显示

否则

隐藏

如果 ({c刺编号} = 1) 那么

如果 {z主角状态} 包含 7 ? 那么

删除此克隆体

 

当接收到 lv5

如果 ({ISBENTI} = 1) 那么

将 {X} 设为 (-124 - -472)

将 {Y} 设为 (3 - 10)

将 {c刺编号} 设为 1

重复执行 4 次

克隆 自己

将 {X} 增加 -50

将 {c刺编号} 设为 0

否则

将 {克隆体数} 增加 -1

删除此克隆体

 

当接收到 初始化

将 {X} 设为 0

将 {Y} 设为 0

 

当作为克隆体启动时

将 {ISBENTI} 设为 0

将 {克隆体数} 增加 1

如果 ({c刺编号} = 1) 那么

换成 刺 造型

显示

 

当 绿旗 被点击

将 {ISBENTI} 设为 1

 

当接收到 初始化

将 {X} 设为 0

将 {Y} 设为 0

 

当接收到 lv5

如果 ({ISBENTI} = 1) 那么

隐藏

将 {X} 设为 (-110 - -472)

将 {Y} 设为 (3 - 10)

将 {c刺编号} 设为 1

重复执行 5 次

克隆 自己

将 {X} 增加 -50

将 {X} 设为 (-170 - -472)

将 {Y} 设为 (3 - 10)

将 {c刺编号} 设为 2

重复执行 2 次

克隆 自己

将 {X} 增加 -50

将 {c刺编号} 设为 3

将 {X} 设为 570

将 {Y} 设为 300

克隆 自己

将 {c刺编号} 设为 4

将 {X} 设为 374

将 {Y} 设为 300

克隆 自己

将 {c刺编号} 设为 5

将 {X} 设为 374

将 {Y} 设为 300

克隆 自己

否则

将 {克隆体数} 增加 -1

删除此克隆体

 

当接收到 lv1

换成 1 造型

 

当接收到 lv2

换成 2 造型

 

当接收到 lv3

换成 3 造型

 

当接收到 lv4

换成 4 造型

 

当接收到 lv5

换成 5 造型

 

当接收到 tick

如果 ({ISBENTI} = 1) 那么

显示

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

否则

移到 x:({d地图X} + {X}) y:({d地图Y} + {Y})

如果 ((x坐标 = ({d地图X} + {X})) 与 (y坐标 = ({d地图Y} + {Y}))) 那么

如果 ({c刺编号} = 3) 那么

如果 {z主角状态} 包含 8 ? 那么

显示

否则

如果 ({c刺编号} = 4) 那么

如果 {z主角状态} 包含 9 ? 那么

显示

否则

显示

否则

隐藏

如果 ({c刺编号} = 1) 那么

如果 {z主角状态} 包含 7 ? 那么

删除此克隆体

如果 ({c刺编号} = 2) 那么

如果 碰到 主角? 那么

清除图形特效

如果 ({c刺编号} = 3) 那么

如果 {z主角状态} 包含 8 ? 那么

清除图形特效

显示

如果 ({Y} > -333) 那么

将 {Y} 增加 -35

否则

删除此克隆体

如果 ({c刺编号} = 4) 那么

如果 {z主角状态} 包含 9 ? 那么

清除图形特效

显示

如果 ({Y} > -333) 那么

将 {Y} 增加 -35

否则

删除此克隆体

 

当作为克隆体启动时

将 {ISBENTI} 设为 0

将 {克隆体数} 增加 1

如果 ({c刺编号} = 1) 那么

换成 刺 造型

显示

清除图形特效

如果 ({c刺编号} = 2) 那么

换成 刺 造型

隐藏

将 虚像 特效设定为 100

显示

如果 ({c刺编号} = 3) 那么

隐藏

换成 apple 造型

如果 ({c刺编号} = 4) 那么

隐藏

换成 apple 造型

 

NPC

代码

当 绿旗 被点击

隐藏

将 {本体} 设为 1

 

当接收到 lv2-1

执行 创建怪物 小黄人 x: 45 y: 74 地图X: -249 地图Y: -460 X最小值: (-155 - -249) X最大值: (147 - -249)

 

当接收到 lv2

执行 创建怪物 小黄人 x: 185 y: -8 地图X: 560 地图Y: -285 X最小值: (-192 - 560) X最大值: (71 - 398)

 

当接收到 tick

如果 ({本体} = 1) 那么

停止 这个脚本

移到 x:({X} + {d地图X}) y:({Y} + {d地图Y})

如果 ((x坐标 = ({X} + {d地图X})) 与 (y坐标 = ({Y} + {d地图Y}))) 那么

显示

执行 更新造型

否则

隐藏

如果 碰到 主角? 那么

执行 过关

如果 (绝对值((y坐标 - 主角 的 y坐标)) < 50) 那么

执行 向主角移动

否则

执行 巡逻

将 {帧} 增加 1

 

当作为克隆体启动时

将旋转方式设为 左右翻转

将 {本体} 设为 0

将 {帧} 设为 0

将 {状态} 设为 走

如果 ({类型} = 小黄人) 那么

将大小设为 50

将 {速度} 设为 2

将 {血量} 设为 3

将 {攻击距离} 设为 60

如果 ({类型} = boss) 那么

将大小设为 50

将 {速度} 设为 5

将 {血量} 设为 100

将 {x速度} 设为 (-1 * {速度})

面向 90 方向

 

定义 创建怪物 {类型} x: {X} y: {Y} 地图X: {地图X} 地图Y: {地图Y} X最小值: {X最小值} X最大值: {X最大值}

如果 ({本体} = 1) 那么

将 {类型} 设为 {类型}

将 {X} 设为 ({X} - {地图X})

将 {Y} 设为 ({Y} - {地图Y})

将 {X最小值} 设为 {X最小值}

将 {X最大值} 设为 {X最大值}

克隆 自己

否则

删除此克隆体

 

定义 更新造型

换成 连接 连接 {类型} 和 {状态} 和 {帧} 除以 20 的余数 造型

说 连接 连接 {类型} 和 {状态} 和 {帧} 除以 20 的余数

 

定义 向主角移动

将 {x速度} 设为 0

将 {状态} 设为 攻击

如果 (x坐标 > (主角 的 x坐标 + {攻击距离})) 那么

将 {状态} 设为 走

将 {x速度} 设为 (-1 * {速度})

面向 90 方向

如果 (x坐标 < (主角 的 x坐标 - {攻击距离})) 那么

将 {状态} 设为 走

将 {x速度} 设为 {速度}

面向 -90 方向

将 {X} 增加 {x速度}

 

定义 巡逻

将 {状态} 设为 走

将 {X} 增加 {x速度}

如果 ({X} < {X最小值}) 那么

将 {X} 设为 {X最小值}

将 {x速度} 设为 (-1 * {x速度})

面向 -90 方向

如果 ({X} > {X最大值}) 那么

将 {X} 设为 {X最大值}

将 {x速度} 设为 (-1 * {x速度})

面向 90 方向

 

当 绿旗 被点击

隐藏

将 {本体} 设为 1

 

当接收到 lv2-1

执行 创建怪物 小黄人 x: 45 y: 74 地图X: -249 地图Y: -460 X最小值: (-155 - -249) X最大值: (147 - -249)

 

当接收到 tick

如果 ({本体} = 1) 那么

停止 这个脚本

移到 x:({X} + {d地图X}) y:({Y} + {d地图Y})

如果 ((x坐标 = ({X} + {d地图X})) 与 (y坐标 = ({Y} + {d地图Y}))) 那么

显示

执行 更新造型

否则

隐藏

如果 碰到 主角? 那么

执行 过关

如果 (绝对值((y坐标 - 主角 的 y坐标)) < 50) 那么

执行 向主角移动

否则

执行 巡逻

将 {帧} 增加 1

 

当接收到 lv2

执行 创建怪物 小黄人 x: 185 y: -8 地图X: 560 地图Y: -285 X最小值: (-192 - 560) X最大值: (71 - 398)

 

当作为克隆体启动时

将旋转方式设为 左右翻转

将 {本体} 设为 0

将 {帧} 设为 0

将 {状态} 设为 走

如果 ({类型} = 小黄人) 那么

将大小设为 50

将 {速度} 设为 2

将 {血量} 设为 3

将 {攻击距离} 设为 60

如果 ({类型} = boss) 那么

将大小设为 50

将 {速度} 设为 5

将 {血量} 设为 100

将 {x速度} 设为 (-1 * {速度})

面向 90 方向

 

定义 创建怪物 {类型} x: {X} y: {Y} 地图X: {地图X} 地图Y: {地图Y} X最小值: {X最小值} X最大值: {X最大值}

如果 ({本体} = 1) 那么

将 {类型} 设为 {类型}

将 {X} 设为 ({X} - {地图X})

将 {Y} 设为 ({Y} - {地图Y})

将 {X最小值} 设为 {X最小值}

将 {X最大值} 设为 {X最大值}

克隆 自己

否则

删除此克隆体

 

定义 更新造型

换成 连接 连接 {类型} 和 {状态} 和 {帧} 除以 20 的余数 造型

说 连接 连接 {类型} 和 {状态} 和 {帧} 除以 20 的余数

 

定义 向主角移动

将 {x速度} 设为 0

将 {状态} 设为 攻击

如果 (x坐标 > (主角 的 x坐标 + {攻击距离})) 那么

将 {状态} 设为 走

将 {x速度} 设为 (-1 * {速度})

面向 90 方向

如果 (x坐标 < (主角 的 x坐标 - {攻击距离})) 那么

将 {状态} 设为 走

将 {x速度} 设为 {速度}

面向 -90 方向

将 {X} 增加 {x速度}

 

定义 巡逻

将 {状态} 设为 走

将 {X} 增加 {x速度}

如果 ({X} < {X最小值}) 那么

将 {X} 设为 {X最小值}

将 {x速度} 设为 (-1 * {x速度})

面向 -90 方向

如果 ({X} > {X最大值}) 那么

将 {X} 设为 {X最大值}

将 {x速度} 设为 (-1 * {x速度})

面向 90 方向

 

传送门

代码

当 绿旗 被点击

隐藏

 

当接收到 lv2-1

将 {X} 设为 (119 - 206)

将 {Y} 设为 (-1 - -61)

 

当接收到 lv1

将 {X} 设为 (236 - -560)

将 {Y} 设为 (100 - -300)

 

当接收到 tick

移到 x:({X} + {d地图X}) y:({Y} + {d地图Y})

如果 ((x坐标 = ({X} + {d地图X})) 与 (y坐标 = ({Y} + {d地图Y}))) 那么

显示

否则

隐藏

如果 碰到 主角? 那么

执行 过关

 

当接收到 lv2

将 {X} 设为 (-90 - 307)

将 {Y} 设为 (-33 - -459)

 

当接收到 lv3

将 {X} 设为 (-1 - -251)

将 {Y} 设为 (56 - -309)

 

当接收到 lv4

将 {X} 设为 (80 - -405)

将 {Y} 设为 (6 - -56)

 

定义 过关

如果 ({g关卡} = 1) 那么

广播 lv2

停止 这个脚本

如果 ({g关卡} = 2) 那么

广播 lv2-1

停止 这个脚本

如果 ({g关卡} = 2-1) 那么

广播 lv3

停止 这个脚本

如果 ({g关卡} = 3) 那么

广播 lv4

停止 这个脚本

如果 ({g关卡} = 4) 那么

广播 lv5

停止 这个脚本

 

当 绿旗 被点击

隐藏

 

当接收到 tick

移到 x:({X} + {d地图X}) y:({Y} + {d地图Y})

如果 ((x坐标 = ({X} + {d地图X})) 与 (y坐标 = ({Y} + {d地图Y}))) 那么

显示

否则

隐藏

如果 碰到 主角? 那么

执行 过关

 

当接收到 lv3

将 {X} 设为 (-1 - -251)

将 {Y} 设为 (56 - -309)

 

当接收到 lv4

将 {X} 设为 (80 - -405)

将 {Y} 设为 (6 - -56)

 

当接收到 lv2

将 {X} 设为 (-90 - 307)

将 {Y} 设为 (-33 - -459)

 

当接收到 lv2-1

将 {X} 设为 (119 - 206)

将 {Y} 设为 (-1 - -61)

 

当接收到 lv1

将 {X} 设为 (236 - -560)

将 {Y} 设为 (100 - -300)

 

定义 过关

如果 ({g关卡} = 1) 那么

广播 lv2

停止 这个脚本

如果 ({g关卡} = 2) 那么

广播 lv2-1

停止 这个脚本

如果 ({g关卡} = 2-1) 那么

广播 lv3

停止 这个脚本

如果 ({g关卡} = 3) 那么

广播 lv4

停止 这个脚本

如果 ({g关卡} = 4) 那么

广播 lv5

停止 这个脚本

 

代码

当 绿旗 被点击

隐藏

 

当接收到 开始游戏

停止 该角色的其他脚本

删除此克隆体

 

当接收到 清屏

隐藏

 

当作为克隆体启动时

显示

移到 主角

将y坐标增加 5

将 {x速度} 设为 (在 -80 和 80 之间取随机数 / 10)

将 {y速度} 设为 (在 20 和 120 之间取随机数 / 10)

重复执行直到 (碰到 舞台边缘? 或 碰到 刚体?)

执行 x移动

执行 y移动

如果 碰到 舞台边缘? 那么

删除此克隆体

 

定义 x移动

将x坐标增加 {x速度}

如果 碰到 刚体? 那么

重复执行直到 碰到 刚体? 不成立

将x坐标增加 (-1 * ({x速度} / 绝对值({x速度})))

将 {x速度} 设为 ({x速度} * 0.8)

 

定义 y移动

将 {y速度} 增加 -2

将y坐标增加 {y速度}

如果 碰到 刚体? 那么

重复执行直到 碰到 刚体? 不成立

将y坐标增加 (-1 * ({y速度} / 绝对值({y速度})))

将 {y速度} 设为 0

 

当 绿旗 被点击

隐藏

 

当接收到 开始游戏

停止 该角色的其他脚本

删除此克隆体

 

当接收到 清屏

隐藏

 

当作为克隆体启动时

显示

移到 主角

将y坐标增加 5

将 {x速度} 设为 (在 -80 和 80 之间取随机数 / 10)

将 {y速度} 设为 (在 20 和 120 之间取随机数 / 10)

重复执行直到 (碰到 舞台边缘? 或 碰到 刚体?)

执行 x移动

执行 y移动

如果 碰到 舞台边缘? 那么

删除此克隆体

 

定义 y移动

将 {y速度} 增加 -2

将y坐标增加 {y速度}

如果 碰到 刚体? 那么

重复执行直到 碰到 刚体? 不成立

将y坐标增加 (-1 * ({y速度} / 绝对值({y速度})))

将 {y速度} 设为 0

 

定义 x移动

将x坐标增加 {x速度}

如果 碰到 刚体? 那么

重复执行直到 碰到 刚体? 不成立

将x坐标增加 (-1 * ({x速度} / 绝对值({x速度})))

将 {x速度} 设为 ({x速度} * 0.8)

 

子弹