【问题标题】:Sprite chasing player character in C#C# 中的 Sprite 追逐玩家角色
【发布时间】:2013-12-02 03:55:05
【问题描述】:

我查看了 ChaseAndEvade XNA 代码,但由于它是针对大学项目的,因此我必须使用一些提供的变量,例如 xPos 和 yPos,而不是设置变量位置。

我知道我想得到两个向量之间的角度,然后朝那个方向前进。据我了解,这行代码可以做到这一点。

position += direction * speed

但是,我如何将其翻译为使用 xPos 和 yPos?

【问题讨论】:

    标签: c# xna


    【解决方案1】:

    一旦确定了相对于屏幕坐标的移动角度,请使用:

    xPos += Math.Cos(angle) * speed;
    yPos += Math.Sin(angle) * speed;
    

    请记住,角度必须以弧度为单位。乘以 Math.PI/180 将度数转换为弧度。

    【讨论】:

    • 或者你可以使用MathHelper.ToRadians方法。
    【解决方案2】:

    我假设如果为您提供了两个向量,您可以从中创建方向(如上所述) - 然后您可以简单地将这些向量的 x 和 y 分量分别添加到 xPos 和 yPos!

    【讨论】:

    • 我打算在它前面的一行中使用一个方法,并设置一个方法来计算方向。方向 = CalcDirection(sourceXPos, sourceYPos, XPos, YPos);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多