【发布时间】:2016-09-05 20:57:18
【问题描述】:
我制作了一个迷你网球游戏,使用按键监听器左右移动球拍。
package mini_tennis;
import java.awt.Rectangle;
import java.awt.Graphics2D;
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.getWidth()-60)
x = x + xa;
}
public void paint(Graphics2D g) {
g.fillRect(x, 330, 60, 10);
}
public void keyReleased(KeyEvent e) {
xa = 0;
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_LEFT)
xa = -game.speed;
if (e.getKeyCode() == KeyEvent.VK_RIGHT)
xa = game.speed;
}
public Rectangle getBounds() {
return new Rectangle(x, Y, WIDTH, HEIGHT);
}
public int getTopY() {
return Y;
}
}
我想知道如何使用鼠标事件移动球拍。例如,当我使用左键单击球拍时,它将向左或向右拖动球拍。您能否还包括我如何通过左右移动鼠标而不按任何按钮来移动球拍。
【问题讨论】:
-
您提供的链接与我的代码完全不同,所以我不知道在哪里更改它。不过谢谢
-
你做了关键事件??真的??不开玩笑
标签: java