【问题标题】:Moving a sprite with an angle with Libgdx使用 Libgdx 以一定角度移动精灵
【发布时间】:2018-09-03 20:32:06
【问题描述】:

如何根据角度值将精灵从其原始位置移动:

我不想用目标移动它。

【问题讨论】:

    标签: libgdx sprite


    【解决方案1】:

    类似这样的:

    float angle = ...;
    float deltaPath = ...;
    
    float deltaX = deltaPath * MathUtils.cos(angle);
    float deltaY = deltaPath * MathUtils.sin(angle);
    
    sprite.translate(deltaX, deltaY);
    

    【讨论】:

    • 增量路径是什么意思?
    • 精灵起点和终点之间的距离。
    • 是的,但是我没有精灵的结束位置,我只是想让它以一个角度穿过屏幕
    • 嗯,那么你需要知道速度,对吧?如果你知道速度,你可以找到精灵在每一帧上行走的距离。所以,在你的render(float delta) 方法的某个地方,你会找到一个deltaPath = velocity * delta。然后计算deltaXdeltaY
    • 只知道角度是不够的,您需要知道移动精灵的速度,对吗?你应该知道速度和时间,或者总距离和时间,这基本上是一回事。如果我没有正确理解您的问题,请提供更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2023-03-15
    • 2013-08-03
    • 2015-07-16
    相关资源
    最近更新 更多