-2

基本的に、いくつかの入力処理に関するチュートリアルに従っています。チュートリアルでは、新しいクラスを作成してこのコードを記述する必要があります。

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);
}

Eclipseは私に教えてくれますメソッドtoggleKey(int、boolean)はタイプInputHandlerに対して未定義です

このチュートリアルのワードに従って、何度もチェックしましたが、間違いを見つけることができませんでした。

どんな助けでも素晴らしいでしょう

ところで、これが役立つ場合のチュートリアルは次のとおりです。http://www.youtube.com/watch?v=Vv7G5GMOre8

4

1 に答える 1

4

実際のメソッドが呼び出されtoggleましたが、呼び出しの可能性を宣言しましたtoggleKey。に名前toggleを変更するtoggleKeyと、問題が解決するはずです。

于 2013-08-23T21:54:28.863 に答える