我看到了很多关于如何在Java中移动精灵的结果,但我找不到任何套件我的代码。我正在关注如何制作Pong风格游戏的教程。 你可以找到教程here。 (这是我遇到问题的部分)。如何让我的2D乒乓球拍上下移动,而不是左右摇摆?
这里是我的球拍类代码:
package com.tennis;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
public class Racquet {
private static final int Y = 330;
private static final int WIDTH = 60;
private static final int HEIGHT = 10;
int x = 0;
int xa = 0;
private Game game;
public Racquet(Game game) {
this.game = game;
}
public void move() {
if(x + xa > 0 && x + xa < game.getHeight()-60)
x = x + xa;
}
public void paint(Graphics2D g) {
g.fillRect(x, 50, 10, 70);
}
public void keyReleased(KeyEvent e) {
xa = 0;
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP)
xa = -1;
if(e.getKeyCode() == KeyEvent.VK_DOWN)
xa = 1;
}
public Rectangle getBounds() {
return new Rectangle(x, Y, WIDTH, HEIGHT);
}
public int getTopY() {
return Y;
}
}
现在我期待在我需要帮助改变部分原因是:
public void keyReleased(KeyEvent e) {
xa = 0;
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP)
xa = -1;
if(e.getKeyCode() == KeyEvent.VK_DOWN)
xa = 1;
}
public Rectangle getBounds() {
return new Rectangle(x, Y, WIDTH, HEIGHT);
}
Alrighty,所以实际的问题,我有是我需要球拍沿着Y轴上下移动,在当前它沿着X轴移动。
它不工作,我觉得我有一个容易解决的错误 –