2d罗盘定位/逻辑

时间:2016-05-05 21:19:58

标签: lua positioning

作为标题,我遇到了重大问题。我正在尝试使用lua作为插件语言将其创建为游戏的HUD。

我有一个特定宽度的条形图,在这个条形图的顶部,我正在尝试绘制另一个带有字母的条形图,用于玩家面向的方向。我有一个玩家面对的0-360度角,但我不知道从哪里开始制作一个看起来像这个图像的指南针栏(底部一个): http://s32.postimg.org/62kcq52it/firefox_u_ZBy_E_90965_229_70.png

所以当玩家改变角度时,栏也会移动。我想过制作一个带有字母的条形图,并以某种方式进一步推动条形图并在条形图上的特定位置绘制字母,然后根据角度推动条形x像素,但我意识到这不会'让这些字母重复。

有没有人有任何建议从哪里开始?

1 个答案:

答案 0 :(得分:1)

L 为指南针栏的宽度(以像素为单位) 你应该准备一张双罗盘的照片:

N - E - S - W - N - E - S - W - N

此图片应具有 4 * L 像素宽度。

现在,如果您知道玩家面对的角度 A

A = 0   for N
A = 90  for E
A = 180 for S
A = 270 for W

您可以计算应在指南针栏中显示的图片部分的坐标:

x_left < x < x_rigth  

其中:

x_left = math.floor((90 + (A + 180) % 360) * L / 180)
x_right = x_left + L