わかりました、私は実際にカメラを動かしていないことを知っていると言うことから始めたいと思いますが、そのように説明する方が簡単です.
私の問題は、トップダウンの 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;