gpt4 book ai didi

java - LibGDX/Java - 尝试找到从一个对象到另一个对象的 vector

转载 作者:行者123 更新时间:2023-12-01 11:49:08 26 4
gpt4 key购买 nike

我想在我的游戏中添加 Spring ,其工作方式类似于《索尼克》中的 Spring - 也就是说,如果你无法越过障碍物,则必须击中 Spring ,这会使主角飞向另一个 Spring ,从而使他越过该障碍。我在下面画了一个小图来演示我的意思(黄色箭头代表玩家前进的方向,红色箭头代表 Spring )。 enter image description here

在我的 Spring 类中,我创建了一个方法:

//The detection area (blue rectangle in the diagram)
public Rectangle broadPhaseDetection() {
broadPhaseRectangle = new Rectangle(getxPos() - broadPhaseLength, getyPos(),
broadPhaseLength, broadPhaseLength);
return broadPhaseRectangle;
}

如果玩家与 Spring 发生碰撞,我会检查蓝色区域内是否有另一个 Spring ,如果有,则计算将您带向该 Spring 的 vector 并将玩家发送到该方向。

这似乎是一个非常简单的概念,之前可能已经做过很多次了,但由于某种原因我在网上找不到任何好的例子。有人知道如何获得我需要的载体吗?

非常感谢任何见解,谢谢。

最佳答案

如果你击中的 Spring 的位置 vector 是Vector2 v1,而第二个 Spring 的位置是Vector2 v2,那么你只需要v2。子(v1)

如果您只对 vector 的方向而不是长度感兴趣,则可能需要通过执行 v2.sub(v1).nor() 进行归一化(这会为您提供一个指向 vector 正确的方式,但长度为 1)

关于java - LibGDX/Java - 尝试找到从一个对象到另一个对象的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921341/

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