Slick2Dbind()
機能を使用して OpenGL で画像を描画しようとすると、多くの問題が発生します。
Image
から取得した I を使用していgetSubImage
ます。メソッドを使用すると、graphics.drawImage()
この画像が完全に描画されます。ただし、を使用すると、このサブイメージを取得bind()
した全体Image
がバインドされるため、サブイメージをバインドできませんか、それとも間違っていますか?
私のコードからの抜粋:
私のクラスのコンストラクターで:
ui = new Image("resources/img/ui/ui.png");
// I've tried with SpriteSheet too but Image is more appropriate for my purposes.
border_t = ui.getSubImage(12, 24, 12, 12);
render メソッドでは:
border_t.bind();
graphics.setColor(Color.white);
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(12, 0);
GL11.glTexCoord2f(9, 0);
GL11.glVertex2f(108, 0);
GL11.glTexCoord2f(9, 1);
GL11.glVertex2f(108, 12);
GL11.glTexCoord2f(0, 1);
GL11.glVertex2f(12, 12);
GL11.glEnd();
これにより、スプライトシート全体が、私が望んでいた上部の境界線ではなく、9 倍に大幅に縮小されてレンダリングされます。
この機能は Slick2d に欠けていますか? バグですか?それとも、単に間違ったことをしているだけですか?