地形移动如何实现



  • @欧拉欧拉 您说的我理解了,确实本来也打算用精灵做地板。但是怎么实现[碰触开关→识别地板上有哪些东西→地板上的东西一起移动]这件事呢?



  • @kp_L 触碰开关(当【角色】与【开关】碰撞时) 识别地板上有哪些东西(可以用同类组,把可能跟地板产生这个交互的对象都归到这个同类组中,然后事件表就可以写:当【地板】与【交互物同类组】重叠时) 地板上的东西一起移动(给【交互物同类组】加一个绑定能力,绑定在地板上,然后移动地板即可) 以上整个流程需要结合在一起来写,大致如下(仅针对只有单个地板实例的情况): 92ee80d9-db00-4d2a-a609-6859f73a523d-image.png



  • @欧拉欧拉 谢谢了,我研究一下



  • 还需要最后一个“反复横跳”的功能 就是碰一次开关,地板从A到B,再碰一次,从B到A。这个是不是做不到了……



  • @欧拉欧拉 微信截图_20200720204231.png 又来麻烦您了= =不出意外的话是最后一个问题

    想要实现的功能: 1、人物不能走过没有地板的路,石板移动过去以后人物可以经过 2、穿过开关后石板移动,反复穿过可以反复移动



  • @kp_L地形移动如何实现 中说:

    能走过没有

    1、人物不能走过没有地板的路,石板移动过去以后人物可以经过 (可以在下图两个位置放一个不透明度为0的精灵,加上刚体,然后用绑定能力绑定在石板路上,这样石板路没移动过来前就能挡住角色了;需要注意的是如果石板路精灵用【移动到】的动作移动的话,可能会卡住,因为这类动作碰到刚体会停下,所以需要调整好透明精灵的尺寸,或是把石板路精灵去掉“碰撞停止”的属性勾选) 5917a631-c963-47e1-b083-33b27f97a08c-image.png 2、穿过开关后石板移动,反复穿过可以反复移动 (可以加一个变量来判断开关状态,例如 当【角色】碰撞【拉杆】时,在子事件位置分成两条事件来判断,分别判断当前变量处于何种值,给对应的值指定对应的移动目的地,并切换该变量的值,大致格式如下图) 35527863-182e-4cd6-9403-64de3149fb87-image.png 剩下的就看还需不需要进一步的处理,例如,这个【穿过】开关,是不是必定要从下图的红框位置到绿框位置(或反过来),如果是,这需要再进一步设计拉杆事件的触发方式,不能仅用单纯的【碰撞】条件,如果不需要,基本上以上思路就够用了。 c5a35cde-8bf8-4ff5-9459-956ca8b654ce-image.png



  • @欧拉欧拉 谢谢神仙



  • @欧拉欧拉 请问碰撞是一个一次性事件吗?全局变量在第一次碰撞时可以从1改为0,但是以后无论怎么碰撞都不能从0改回1了



  • @欧拉欧拉 又可以了。很多事件条目都需要重启唤境才能生效,好几次了原因不明= =
    本来失效的功能怎么都启用不了,重开一次就好了
    我还以为是哪儿写的不对,整郁闷了



  • @kp_L 🤔 没遇过这种情况,会不会是浏览器缓存导致的?碰撞的话,判定是两者的碰撞区域从未重叠状态变成重叠状态的一瞬间,就视为碰撞,之后需要互相离开直到变成未重叠后,才能重新触发下一次碰撞。


登录后回复