java有没有比等待JOGL显示方法完成某些事情更好的代码?
我得告诉你,我没有为这个问题想出一个好标题,但我会解释我的情况
我正在使用OpenGL(JOGL)用Java制作一个简单的游戏。有一个按键侦听器正在等待按下左键,当您按下左键时,会发生以下情况:
case KeyEvent.VK_LEFT:
if (inControl) {
inControl = false;
alpha = 0;
moving = true;
}
如您所见,inControl
决定玩家是否能够移动。现在,通过将moving
设置为false,我向display
方法“发送信号”,该方法包含以下代码段:
public void display(GLAutoDrawable drawable) {
.
.
.
if (moving) {
.
.
.
// Set color's alpha to alpha
// Draw contents
.
.
.
if (alpha < 1.0f)
alpha += 0.01f;
if (alpha >= 1.0f) {
inControl = true;
moving = false;
}
}
.
.
.
}
这意味着一旦我点击左键,一些东西将逐渐增加不透明度,直到alpha >= 1.0f
。播放器必须等待,这是通过将inControl = true
放在display方法的末尾来完成的
虽然这是可行的,但我并不喜欢这种方法。显示方法不应该只显示图形而不操作数据吗
共 (0) 个答案