2013-09-28 59 views
0

,所以我想運行的類「WASD」這是我在我的代碼:如何在一個一流的呼叫(另一個類的內部)

public class MoveWASD extends JFrame 
{ 
boolean Repeat = true; 
int Location[] = {40, 40}; 
public static void main (String args[]) 
{ 
    new MoveWASD(); 
} 

public MoveWASD() 
{ 
    super("Use-WASD-to-Move"); 
    setSize(800, 450); 
    setVisible(true); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
    while(Repeat) 
    { 

- > WASD(); }

} 

public void paint(Graphics g) 
{ 
    g.setColor(Color.WHITE); 
    g.fillRect(0, 0, 800, 450); 

    g.setColor(Color.BLUE); 
    g.fillRect(Location[0], Location[1], 20, 20); 
} 

public class WASD implements KeyListener 
{ 





    public void keyPressed(KeyEvent event) 
    { 
     if(event.getKeyChar() == 'w') 
     { 
      Location[1]--; 
     } 
     else if(event.getKeyChar() == 'd') 
     { 
      Location[0]++; 
     } 
     else if(event.getKeyChar() == 's') 
     { 
      Location[1]++; 
     } 
     else if (event.getKeyChar() == 'a') 
     { 
     Location[0]--; 
     } 
     else 
     { 
     Location[0] = Location[0]; 
     } 
    } 


    @Override 
    public void keyReleased(KeyEvent e) { 
     // TODO Auto-generated method stub 

    } 


    @Override 
    public void keyTyped(KeyEvent e) { 
     // TODO Auto-generated method stub 

    } 


} 

} 

箭頭指向在我的代碼語法錯誤,顯然當我在WASD鍵入();它希望有一個名爲WASD的方法,我需要做什麼來尋找CLASS WASD?

+0

請遵循Java命名約定。它應該是「重複」和「位置」(不是大寫)。 – arshajii

+0

你不能調用一個類,你可以創建一個新的對象, 或者你可以在類中調用靜態方法。 究竟你在做什麼? –

回答

1

- > WASD();

這是你要調用的類WASD從MOVEASD然後使用新的運營商function.if通話..

新WASD();

+0

謝謝,但我該怎麼做? – user2789610

+0

只需用new WASd()替換wasd()? –