![](/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.