![](/img/trans.png)
[英]How do I tell Java to map a logical font (e.g. SansSerif) to a specific font on my system?
[英]How to repaint a specific area (e.g. circle) in java?
我正在尝试制作一个简单的游戏,您基本上必须击中圆圈才能获得一分。 但是我遇到了一个我自己无法真正解决的小问题,所以我的问题是如何重新绘制圆形表面。我使用了 repaint(Rectangle r) 方法,但它没有锻炼。
public void objectHit(MouseEvent e) {
int distance = 0, deltaX = 0, deltaY = 0, RadiusSqaured = 0;
for (int i = 0; i < obj.length; i++) {
deltaX = e.getX() - obj[i].getPoint().x;
deltaY = e.getY() - obj[i].getPoint().y;
distance = deltaX * deltaX + deltaY * deltaY;
RadiusSqaured = obj[i].getRadius() * obj[i].getRadius();
if (distance <= RadiusSqaured) {
repaint(obj[i].repaintRect());
x = ThreadLocalRandom.current().nextInt(50 + radius / 2, 850 - radius / 2);
y = ThreadLocalRandom.current().nextInt(60 + radius / 2, 750 - radius / 2);
repaint(obj[i].repaintRect());
}
}
}
在 JComponent 中,有一种基于框区域的重绘方法。 这是否满足您的要求?
https://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#repaint-long-int-int-int-int-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.