2013-10-11 132 views
0

我遇到問題。我第一次使用java創建這個迷宮遊戲, ,我有很多很多很多graphics(g)通過他們自己的課堂繪製的圖畫/對象。從圖形對象獲取X和Y座標

我想得到的是XY其中之一。

public static int在這種情況下似乎很難使用,沒有創建與繪圖相同數量的整數。

所以,我需要的東西,而不是使用getY()

public void keyPressed(KeyEvent e){ 
    int key = e.getKeyCode(); 
    if (key == KeyEvent.VK_LEFT) { 
     for (int i=0; i<=42; i++) { 
      if(cx != rektangel[i].getY()) // I tried "getY()" with fail(kind of dumb since it's used for mouselistener? 

      cirkel[0].move(-10, 0); 
      this.cx += -10; 
      repaint(); 


    } 
} 

信息可能需要在這段代碼就知道:

  • rektangel(the name) =矩形英語。
  • cirkel是一個對象/圖形==>我簡單地使用了一個static intcx & cy這個人看到它的座標。
  • 它說的地方i<42; ==>表明它是很多繪製的對象。 (static int將不是最佳的)

============= ANSWERED ====== ANSWERED ======= ANSWERED =======回答========== 對不起,但由於某種原因,我無法評論你的答案。結果是可笑的可笑。我目前熬夜來完成我的代碼作業。感謝您的解決方案,並且MadProgrammers發表評論。這是我的矩形類:

public class Rektangel { 
    private int width,height; 
    private int x,y; <---this row private 
    Color c; 
    public static int karta = 1; 
    public static int rx = 0; 
    public static int ry = 0; 
} 

世界上最容易的事情。我在前面的代碼使用rectangle[i].x曾經嘗試過,但沒有奏效。知道爲什麼?因爲我寫了私人而不是公開的x & y。對不便,再次感謝,謝謝!

+0

'Graphics'是一個虛擬的概念,它沒有位置或大小的概念。你正在渲染到'Graphics'上下文的對象本身應該保持他們自己的位置和大小的概念 – MadProgrammer

+0

儘管你顯然不能評論MadProgrammer的答案,但你仍然應該能夠對問題本身發表評論。 –

+0

現在我可以,但我不能昨天。出了點問題:s – user2869142

回答

2

你應該保持自身內部的每個對象的位置和大小,併爲每個提供getXgetYgetWidthgetHeight方法,這樣一來,他們變得自我管理,知道他們在哪裏,他們應該多大..