【问题标题】:Calculating X Y movement based on rotation angle?根据旋转角度计算 X Y 运动?
【发布时间】:2011-03-04 11:13:26
【问题描述】:

假设我在 2D 空间中有一个可以旋转的对象,然后应该根据其旋转角度移动。

例如:

  • 如果角度为 0(指向上方),则 on_timer 应将 Y 移动 1,X 移动 0。

  • 如果角度是 45,那么它应该 Y 移动 1,X 移动 1。

  • 如果指向 90 度,则 Y 为 0,X 为 1。

  • 如果指向 135 度,则 Y 为 -1,X 为 +1,依此类推。

你知道计算这个的任何函数吗?

【问题讨论】:

  • 这是个好问题。

标签: c# rotation game-physics angle


【解决方案1】:

嗯,它似乎在不同的角度以不同的速度移动。

对于 0 度(直线向上),它移动了 1,但 45 同意它移动 sqrt(1^2 + 1^2) = 1.41。

我想你想看看 Sin and Cos。

X += Speed * Math.Cos(angle);
Y += speed * Math.Sin(angle);

问候格特-扬

【讨论】:

  • 谢谢,成功了! :) 双弧度 = (Math.PI / 180) * (this.orient - 90) ; this.CorX = Convert.ToInt16(this.CorX + 15 * Math.Cos(弧度)); this.CorY = Convert.ToInt16(this.CorY + 15 * Math.Sin(弧度));
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 2014-09-16
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多