【发布时间】:2019-05-05 05:08:33
【问题描述】:
好的,所以我以前从未创建过游戏,我正在尝试制作基于 2d 瓷砖的游戏。
所以我真的对一些应该很简单的东西感到困惑,坐标。
我有图块坐标,比如
{0,0,0,0,0,1}
{0,0,1,0,0,1}
{0,0,0,0,0,1}
{0,0,1,1,1,1}
{0,0,0,0,0,1}
假设这是我的世界,我正在尝试渲染它,但是我无法渲染它,每个图块都需要一个宽度, 这就是我感到困惑的地方,所以你可以这样做,我对编码并不陌生
twidth = 100, theight = 100;
for(y = each row) {
for(x = each tile in each row) {
draw rect (
X1 = x*twidth,
Y1 = y*theight,
X2 = x*twidth+twidth,
X2 = y*theight+theight
)
}
}
对此我可能错了,但是:现在实际上所有其他内容都需要乘以 twidth/height,如果您想要不同大小的图块会更加困难,至少它让我感到困惑,其他游戏如何处理事情像这样?我不确定我是否很好地解释了我的问题,任何帮助将不胜感激
我正在使用 opengl[legacy],我认为解决方案可能是一个以不同方式设置屏幕空间的功能,因此渲染 glVertex2d(0,1) 实际上是 100px,这会使碰撞等变得更容易
【问题讨论】:
标签: opengl 2d coordinate-systems opengl-compat