好的,我想首先说我知道我实际上并没有移动相机,但这样更容易解释。
我的问题是我试图在自上而下的 2d rpg 中使用我的角色移动相机,但我找不到正确的方法。我知道 glTranslate() 但是我只能使用速度而不是 x 和 y 坐标。我不确定如何移动相机以记住增量。我什至不知道 glTranslate() 是否是我应该使用的方法。
如果我没有任何意义(这很可能),这是我的一些代码。
我的测试while循环:
while(!Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)&&!Display.isCloseRequested())
{
glClear(GL11.GL_COLOR_BUFFER_BIT);
delta=getDelta();
update(delta);
glTranslatef(speedx, speedy, 0);
level1.checkCurrent(x, y);
level1.draw();
Display.update();
Display.sync(60);
}
这是我设置速度的地方:
if(Keyboard.isKeyDown(Keyboard.KEY_DOWN))
{
y+=0.5*delta;
screenY+=0.5*delta;
speedy=(int) (-0.5*delta);
direction=2;
}
else if(Keyboard.isKeyDown(Keyboard.KEY_UP))
{
y-=0.5*delta;
screenY-=0.5*delta;
speedy=(int) (0.5*delta);
direction=8;
}
else
speedy=0;