简单来说就是用公共列表储存每一个克隆体 id 所对应的坐标数据,然后在碰到时用这个克隆体的时候通过克隆体 id 调用列表的坐标数据。
然而这个问题中最烦的就是如何知道是哪一个克隆体碰到哪一个。
这个问题则可以用 广播并等待 解决。具体方案如下:
首先把 A 和 B 角色选一个复制。注意这里只复制角色的造型!代码统统不要。甚至不需要颜色,有了形状就可以。然后这个复制好的角色(叫 碰撞箱 吧),加上点了绿旗就 虚像 99 的积木(某种原因,Sc3 的虚像100 和隐藏一样,会废掉 触碰 的侦测积木(?))
我们先假设你复制的角色造型是 A(这个问题是对称的,哪一个都一样)
B 的伪代码
当作为克隆体启动:
将 坐标列表 的 id 项 设为 自己的坐标
重复执行
等待 碰到 A
将 (B_id) 设为 自己的 id
广播 碰撞箱 并等待
// 这里用 (A_x) 和 (A_y) 做剩下的代码
碰撞箱的伪代码
当收到 碰撞箱
去到 列表 B_id 项 坐标
广播 A 并等待
A 的伪代码
当收到 A
如果 碰到 碰撞箱
将 A_x, A_y 设为 自己的坐标 // 这里可能要小心一点,因为有可能有多个同时碰的
这就是所有的代码了。
然而这个问题中最烦的就是如何知道是哪一个克隆体碰到哪一个。
这个问题则可以用 广播并等待 解决。具体方案如下:
首先把 A 和 B 角色选一个复制。注意这里只复制角色的造型!代码统统不要。甚至不需要颜色,有了形状就可以。然后这个复制好的角色(叫 碰撞箱 吧),加上点了绿旗就 虚像 99 的积木(某种原因,Sc3 的虚像100 和隐藏一样,会废掉 触碰 的侦测积木(?))
我们先假设你复制的角色造型是 A(这个问题是对称的,哪一个都一样)
B 的伪代码
当作为克隆体启动:
将 坐标列表 的 id 项 设为 自己的坐标
重复执行
等待 碰到 A
将 (B_id) 设为 自己的 id
广播 碰撞箱 并等待
// 这里用 (A_x) 和 (A_y) 做剩下的代码
碰撞箱的伪代码
当收到 碰撞箱
去到 列表 B_id 项 坐标
广播 A 并等待
A 的伪代码
当收到 A
如果 碰到 碰撞箱
将 A_x, A_y 设为 自己的坐标 // 这里可能要小心一点,因为有可能有多个同时碰的
这就是所有的代码了。