对于游戏项目,我需要计算2D平面上相对于相机的项目位置。
相机可以旋转,它的坐标指的是它的中心。
在附加的图片中,a
和b
是要显示的项目,c
是相机。
第一张图片是世界上物品的绝对位置。
第二张图片是我想要的结果。
请注意旋转不必是90度,它可以是任何有效角度。我只用了90度来保持这个例子的简单。
通常这是一项简单的任务,但由于相机可以旋转,因此转换到中心并不容易,这会使这个问题变得复杂。
这不是使用canvas元素,因此不能选择使用画布平移或旋转。
以下是此示例中使用的数据,以及用于尝试解决方案的一些样板代码:
var items = {
a: {x: 3, y: 3},
b: {x: 2, y: 4}
};
var camera = {
x: 4, y: 4,
width: 4, height: 4,
rotation: 90
}
boilerplate code on jsfiddle.net
任何帮助都将不胜感激。
答案 0 :(得分:0)
您应该执行以下步骤来实现结果
C
点此时,你的物品和相机已经旋转,剩下的唯一工作就是按相机矩形裁剪。
据我所知,这样的剪辑不是很难,可以轻松完成。
希望它可以帮到你