使用Dgame框架和D语言将形状与矢量对齐

时间:2015-07-13 16:33:44

标签: graphics 2d coordinates d 2d-games

我一直在使用Dgame框架进行简单的模拟。

我需要移动物体与它们的速度矢量对齐。

如何使用Dgame做到这一点?

我看到shape对象有setRotation和setRotationCenter。不知道如何使用这些来达到效果。我意识到默认是围绕原点旋转。这会导致物体随时间漂移。

示例代码

SELECT SUM(Amount), threemonthavg, SUM(Amount)/threemonthavg AS DSO
FROM tbl1
WHERE PostDate <= @enddate AND ClosedDate > @enddate

1 个答案:

答案 0 :(得分:0)

您可以使用atan2来实现此目的。根据纹理的方向,您可能需要稍微更改值或添加90 / -90度。

对于面朝上的纹理:

rotation = atan2(-velocity.x, velocity.y);

对于面向右侧的纹理:

rotation = atan2(-velocity.y, -velocity.x);

您可能需要将结果从弧度转换为度数或反过来。