在Direct2D中实现一个简单的lookAt类似的相机

时间:2014-04-22 19:56:51

标签: c++ directx direct2d

我正在使用C ++中的Direct2D制作一个小游戏,我正处于需要相机的地步,因为某些级别比屏幕宽度和高度更大,因此玩家可以看到所有级别。

所以我的问题是如何在Direct2D中实现相机系统?

1 个答案:

答案 0 :(得分:0)

ID2D1RenderTarget::SetTransform可用于实现2D相机。所有绘图操作将首先应用变换,这是一个3x2矩阵,因此完全能够表示具有平移,旋转,缩放和倾斜的摄像机(尽管您可能不应该让您的相机倾斜场景)。至于如何生成矩阵,请查看D2D1::Matrix3x2F类中的辅助函数,并在应用变换时查看this article

对于实际的观察相机,如果你想在尺寸 s 的目标中心看到坐标 c ,你可以设置转换为( s / 2) - c