java - 如何使用 fps animator 在 opengl 中翻译这个多边形?
问题描述
我正在尝试编写一个代码,使我的多边形从屏幕的左端移动到右端。我分享的主要问题是我无法使用 fps animator 进行翻译
这是我的多边形代码:
private void drawface(GL2 gl)
{
gl.glBegin(GL2.GL_POLYGON);
gl.glVertex2f(0, 130);
gl.glVertex2f(120, 130);
gl.glVertex2f(120, 140);
gl.glVertex2f(0, 140);
gl.glEnd();
}
然后这是我的显示功能:
public void display(GLAutoDrawable arg0)
{
final GL2 gl = arg0.getGL().getGL2();
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glColor3f(0.5f, 1f, 0.75f);
gl.glTranslatef(t1x, 1, 1);
drawface(gl);
gl.glPopMatrix();
}
我正在int t1x
通过 KeyEvent 方法更新
public void keyPressed(KeyEvent arg0)
{
int key = arg0.getKeyCode();
if(key == KeyEvent.VK_RIGHT)
{
t1x++;
}
else if(key == KeyEvent.VK_LEFT)
t1x--;
}
但是当我单击右箭头键时,我的多边形没有平移。我应该怎么办 ?
解决方案
推荐阅读
- sql - 关于子查询的问题,为什么需要一个 IN 子句
- python - Python pandas read_csv 是打印时间,而不是加载文件
- django - 免费部署 Django
- c# - IIS web.config重写规则条件输入内两个捕获组的比较
- r - 如何在多重插补中同时使用分类和连续预测变量 [r]
- php - 检查两个给定的开始和结束时间之间是否存在时间范围
- c# - 报表查看器中的界面语言
- javascript - Mapbox 有时不加载标记
- c# - 除了多个 if 语句之外,是否有更优雅的方法来为多个被检查的复选框编写逻辑?
- dictionary - 如果键是列表,则在 Dart 映射中搜索键