gpt4 book ai didi

java - 使角色绕圈移动

转载 作者:行者123 更新时间:2023-11-29 06:12:13 24 4
gpt4 key购买 nike

所以我有一个 2d 游戏,它通常只有重力和“平坦”关卡,但我添加了具有自身重力的“行星”。

我有一个名为 addForce(float xForce, float yForce) 的函数,用于移动我的角色。所以说如果我调用 player.addForce(1, -1);玩家会向上和向右移动(尽管是轻微的)。这在具有规则向下重力的水平上运行良好,但对于行星而言并非如此。还有另一个名为 earthAngle 的 float :

atan2(player.getY()-earth.getY(), player.getX()-earth.getX());

我对行星上的跳跃代码所做的是:

player.addForce(cos(earthAngle)*1500, sin(earthAngle)*1500);

效果很好。然而,我一直在研究如何让这个角色在地球上走来走去。

目前我拥有的运动代码:

player.addForce(25*x_*cos(earthAngle), 25+x_*sin(earthAngle));

它只对某些部分起作用,在底部反向起作用,并且在某些部分更强/更弱,x_ 可以是 -1(左)或 1(右)。我猜他们是一个非常优雅的解决方案,我只是忽略了。谢谢。

最佳答案

由于您已经有了从行星中心到玩家的 vector ,例如 (x,y),您可以使用垂直于该 vector (-y,x) 的 vector 作为行走力的方向。

关于java - 使角色绕圈移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com