正如问题所述,我想知道如何围绕其中心旋转绘制的矩形。
我目前正在使用以下代码:
GL11.glPushMatrix();
GL11.glColor3f(0.3f, 0.3f, 0.3f);
this.setAngle(this.getAngle()+1);
GL11.glRotated(270-this.getAngle(),0,0,1);
GL11.glTranslated(-0.5,-0.5,1);
GL11.glRectd(this.getX(),this.getY(), this.getX()+this.getWidth(), this.getY()+this.getHeight());
GL11.glPopMatrix();
现在,旋转发生在2D空间中,但我似乎无法集中矩形的旋转。相反,矩形保持围绕全局点0,0旋转。
我认为我的旋转和翻译设置可能不正确或顺序不正确。
我不想阻止此代码生成所需的输出。 任何建议和答案将不胜感激。
感谢。
答案 0 :(得分:1)
你应该翻译,然后旋转。如果先旋转,则会考虑旋转。因此,如果旋转90度,您的平移也会旋转90度。尝试颠倒您的操作顺序。
LIBGDX足够接近OpenGL,OpenGL教程可以帮助你解决这个问题,如fyi。
同时查看ShapeRenderer课程,因为它隐藏了部分内容。