[求助]关于上下坡的问题,请教一下实现思路。
godot吧
全部回复
仅看楼主
level 13
使者丶n 楼主
我想按→键往前走,按→+↑时上坡,按→+↓时下坡。请教大佬指点一下实现思路。
2023年09月18日 16点09分 1
level 7
状态机不就行了[汗]
2023年09月18日 16点09分 2
level 13
使者丶n 楼主
2023年09月19日 01点09分 4
[滑稽]你这个需求倒是比较简单,所以我可以做个demo发过来(如果贴吧里有太复杂的需求,我也无法提供demo)不过最好标明一下godot版本,如果我做了4的demo,你用3也打不开
2023年09月19日 03点09分
@人类的大敌 谢谢吧主,想了两天,也想出要怎么实现,头发都白了,godot4的。
2023年09月19日 07点09分
level 6
如果我来做的话,我会这样实现:
1. 设定三种状态:平地状态,下坡状态,上坡状态
2. 当状态为上坡状态时,行进方向为上坡方向,其余同理
3. 监听键盘行为:监听到上左两键都被按下,且人物到达上坡点时,状态改为上坡状态;下坡同理,否则都视为只按下了左方向键
需要注意,上下坡点的判定范围需要稍微大一点,否则会发现很难上下坡,我会趋向于使用area做判定
当然,我学习godot也不久,只能想到这些,或许会有更好的思路
2023年09月19日 01点09分 5
如果你日后的状态比较多,管理起来比较麻烦了,可以用2楼所说的状态机来进行管理,但是三种状态还不至于。用状态机逻辑也是类似的
2023年09月19日 01点09分
@Coder_LH 这个方法试过,可能是我实现的细节有误,上下坡的时候经验失误,要走好几次才会成功一次。
2023年09月19日 07点09分
@使者丶n 你可以将你的代码贴出来
2023年09月19日 07点09分
吧务
level 14
[勉强]因为在4楼的回复有所提及,所以我直接发个demo,基本上就能理解了。如图所示,下图是动态图,手机贴吧需要点击图片才能播放动态图:
实现图里的效果的方法可能楼上都还没有提及,答案是:碰撞层。
在按键操作玩家的角色的时候,切换不同的碰撞层就行了。那么为了避免百度删楼,这个demo的下载我会放在这楼的回复里
2023年09月19日 08点09分 6
碰撞层,妙啊
2023年09月19日 09点09分
赞美吧主
2023年09月19日 12点09分
学习了,想破脑袋也没想出这思路,感谢吧主。
2023年09月19日 16点09分
@使者丶n [滑稽]这个确实光靠想可能不一定会注意到,因为“碰撞层”这个功能还挺隐蔽的,平时也很少有用户提及。这个方法还是得靠平时积累对引擎功能的了解
2023年09月19日 16点09分
level 1
我感觉还是直接左右上下坡会好点。。。很少见你这种操控方式的。。
2023年09月20日 00点09分 7
1