【问题标题】:Java - Asteroids - acceleration in two dimensionsJava - 小行星 - 二维加速
【发布时间】:2014-04-03 05:23:52
【问题描述】:

我目前正在编写 Asteroids 以获得计算机科学课程的额外学分,遵循提供了一些入门代码的非常松散的指南。我有一艘船,我可以使用按键来改变它的位置。起始代码提供了一种基于点位置绘制船的方法。然后给了我这个

public void accelerate(double acceleration) {
    pull.x += (acceleration * Math.cos(Math.toRadians(rotation)));
    pull.y += (acceleration * Math.cos(Math.toRadians(rotation)));
}

我应该如何通过位置来实现这一点?我可以同时增加 position.x 和 position.y,但是我应该如何使用这个方法呢?另外,我可以实现转弯加速吗?有一个变量旋转应该从0360

【问题讨论】:

    标签: java rotation game-physics


    【解决方案1】:

    如果不查看更多代码,我不确定如何回答这个问题,但请确保您了解位置、速度和加速度之间的关系。加速度随时间t 等于速度的导数 (dv/dt)。速度等于位置的导数 (dx/dt)。它也可以与集成相反。 Acceleration 和 Velocity 是向量,意味着它们有大小方向。您需要根据速度更改位置,并根据加速度更改速度。这有帮助吗?

    【讨论】:

    • 我将不得不学习更多关于加速的知识,但你对我需要做什么提供了非常简洁的描述。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2020-12-04
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多