2013-08-23 135 views
-2

如果任何人都可以幫忙,我會徘徊,基本上我會在輸入法處理過程中遇到問題,而且本教程需要我創建一個新類並編寫該代碼。方法toggleKey(int,boolean)未定義爲InputHandler類型

package net.pinkeye.JavaGame; 

import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 
import java.util.ArrayList; 
import java.util.List; 

public class InputHandler implements KeyListener{ 

public InputHandler(Game game) { 
    game.addKeyListener(this); 
} 

public class Key { 
    public boolean pressed = false; 

    public boolean isPressed(){ 
     return pressed; 
    } 
    public void toggle(boolean isPressed) { 
     pressed = isPressed; 
    } 
} 


public Key up = new Key(); 
public Key down = new Key();  
public Key left = new Key();  
public Key right = new Key(); 

public void keyPressed(KeyEvent e) { 
    toggleKey(e.getKeyCode(),true); 
} 


public void keyReleased(KeyEvent e) { 
    toggleKey(e.getKeyCode(),false); 
} 

public void keyTyped(KeyEvent e) { 
} 


public void toggle (int keyCode, boolean isPressed) { 
    if(keyCode == KeyEvent.VK_W){ 
     up.toggle(isPressed); 
    } 
    if(keyCode == KeyEvent.VK_S){ 
     down.toggle(isPressed); 
    } 
    if(keyCode == KeyEvent.VK_A){ 
     left.toggle(isPressed); 
    } 
    if(keyCode == KeyEvent.VK_D){ 
     right.toggle(isPressed); 
    } 
} 

} 

然而,它說

public void keyPressed(KeyEvent e) { 
    toggleKey(e.getKeyCode(),true); 
} 


public void keyReleased(KeyEvent e) { 
    toggleKey(e.getKeyCode(),false); 
} 

日食告訴我的方法toggleKey(INT,布爾)是未定義的類型InputHandler

香港專業教育學院遵循WRD本教程字和檢查多次但我找不到我的錯誤。

任何幫助將是巨大的

順便說一下這裏thwe tuorial如果這能幫助:http://www.youtube.com/watch?v=Vv7G5GMOre8

+1

所以,讓我直截了當地說 - 你正在調用一個你沒有在任何地方聲明過的方法'toggleKey(...)',當你的代碼不能編譯時,你感到驚訝。我主要驚訝於你爲什麼感到驚訝。你對此感到困惑嗎?爲什麼不調用你在課堂上實際使用的方法? –

+0

是的,我知道,但本教程沒有聲明? – user2687097

+1

沒關係。你的代碼沒有邏輯意義。不要盲目地遵循教程 - 使用你的大腦和常識。 –

回答

3

您的實際方法被稱爲toggle但你聲明援引toggleKey的可能性。重命名toggletoggleKey應該可以解決您的問題。

+0

不好意思沒工作:/ – user2687097

+0

它應該工作。錯誤非常明顯,Derek是對的。 'Key'類中的'toggle'方法應該保持原樣。但是,使用簽名'public void toggle(int keyCode,boolean isPressed)'將'toggle'方法重命名爲'public void toggleKey(int keyCode,boolean isPressed)'。 – SerotoninChase

+0

是的,我剛剛意識到這個人鍵入了切換,後來沒有改名爲切換鍵感謝 – user2687097

相關問題