2013-10-16 32 views
0

我一直在試圖添加碰撞到我的遊戲中,它看起來像一塊蛋糕,我已經知道如何繪製一個矩形。但是我需要用矩形來表示某個變量。但似乎沒有像g.drawRect(myRectangleVariable)這樣的方法。我需要做一些if語句檢查相交,但如果我沒有矩形變量,那麼我該比較什麼?如果你們需要我的任何代碼,請告訴我。如何在paintComponent方法中初始化並繪製Rectangle變量?

回答

3

爲什麼不只是做

g.drawRect(myRectangleVariable.x, 
      myRectangleVariable.y, 
      myRectangleVariable.width, 
      myRectangleVariable.height); 
+0

謝謝,我還是很新的圖形,所以我仍然不知道它的所有可能性。 – Wumbo4Dayz

+0

歡迎你。首先查看[javadocs](http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html)。然後看看你的'Rectangle'對象有什麼信息。所有選項將變得明顯:) – Reimeus

+0

你知道,我在每個問題之前都會問,但我想我太傻了,找不到我在javadocs中找到的答案。 – Wumbo4Dayz

2

因此,創建一個變量來保存你的Rectangle:P

Rectangle rect = new Rectangle(0, 0, 50, 50); 
g.drawRect(rect); 
+0

難道真的嗎 – Wumbo4Dayz

+0

如果你知道座標(x,y)和(寬度,高度),那麼耶!看看官方文檔 http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Rectangle.html – yamafontes

+1

該死的,我本可以發誓,沒有工作。那麼,我想我應該期待一些關於我的問題的看法:P。 – Wumbo4Dayz

2

您應該使用2D圖形對象,如矩形;

像:

Graphics g = // get your graphic object from Component 
    Graphics2D g2d = (Graphics2D) g; 
    java.awt.geom.Rectangle2D.Double rect = new Rectangle2D.Double(x, y, width, height); 
    g2d.draw(rect); 

優點:你會得到很多的功能,如發現路口等花哨的2D的東西。