gpt4 book ai didi

java - 我如何确保这个正方形移动并且不会使用 openGL 扩展?

转载 作者:行者123 更新时间:2023-11-29 07:55:56 27 4
gpt4 key购买 nike

我正在开发一款 Pong 游戏。现在,我正在努力让玩家桨工作。这是现在发生的事情。游戏开始,桨位于屏幕上。向上按桨使正方形向上延伸。按下则相反。我需要的是正方形作为一个单独的对象实际移动并在每次移动时删除自身,以便它始终保持正方形。我需要它保持相同的形状,但只是移动,而不是变大。我将如何在 openGL 中执行此操作?这是我的两个类(class)。

启动(主类):

import org.lwjgl.LWJGLException;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;

import com.evanklein.pong.entitity.Player;

public class Startup {

// set up display
public void start() {
try {
Display.setDisplayMode(new DisplayMode(600, 400)); // these numbers
// pending
Display.setTitle("Evan's Pong!");
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
System.exit(0);
}

GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 600, 400, 0, 1, -1);

while (!Display.isCloseRequested()) {

// render OpenGL here
GL11.glBegin(GL11.GL_QUADS);
GL11.glColor3f(3.0f, 7.2f, 6.7f);
GL11.glVertex2d(player.width, player.length);
GL11.glVertex2d(player.width + 100, player.length);
GL11.glVertex2d(player.width + 100, player.length + 100);
GL11.glVertex2d(player.width, player.length + 100);
GL11.glEnd();

Display.update();
Display.sync(60);

if (Keyboard.isKeyDown(Keyboard.KEY_UP)) {
player.moveUp();
}
if (Keyboard.isKeyDown(Keyboard.KEY_DOWN)) {
player.moveDown();
}
}

Display.destroy();
}

// Let's start this beyotch up!
Player player = new Player();

public static void main(String[] args) {
new Startup().start();
}
}

玩家类:

public class Player {

// size variables
public int width = 50;
public int length = 120;

private int moveSpeed = 10; // mph

public Player() {

}

public void moveUp() {
length -= moveSpeed;
}

public void moveDown() {
length += moveSpeed;
}
}

如果您有任何其他问题或需要任何其他剩余详细信息,请告诉我。

最佳答案

glClear() isCloseRequested() 循环开始处的帧缓冲区。

关于java - 我如何确保这个正方形移动并且不会使用 openGL 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17662978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com