我有一个Pong游戏,我正在努力.现在,我正在努力让玩家划桨.这就是现在发生的事情.比赛开始,球拍位于屏幕上.向上按压桨板使方形向上延伸.按下则相反.我需要的是广场实际上作为单个对象移动并在每次移动时删除它自己以使其在整个时间内保持正方形.而不是桨变得更大,我需要它保持相同的形状,但只是移动.我将如何在openGL中执行此操作?这是我的两个班级.
启动(主要课程):
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();
}
}
Run Code Online (Sandbox Code Playgroud)
玩家类:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您有任何其他问题或需要任何其他详细信息,请与我们联系.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |