2017-11-22 6 views
0

友人とRPGを作成し始めました。我々は、矢印キーまたはWASDのいずれかを使用して、キャラクターを動かすことができるようにしたい。私はそうする方法を知らないし、私はちょっとインターネットを見てきた。私はActionListenerを使用しなければならないことを知っていますが、それを超えて、私が何をしているのか分かりません。これはキーボード入力を使用するコードの一部ですが、何をするべきか分かりませんJavaでキーボードコマンドを作成する方法

public class Character implements ActionListener 
{ 
    public static char KBoard(char w, char a, char s, char d) 
    { 
    /_\-|(This is what I need help with, reading in the keyboard input)|-/_\ 
    return kBoard; 
    } 
    public static int MoveX (int velocity) 
    { 
    velocity = 5 

    Switch (kBoard) 

    case 'w': 
    characterPosX -= velocity; 
    break; 

    case 's': 
    characterPosX += velocity; 
    break; 

    return characterPosY; 
    } 
    public static int MoveY (int velocity) 
    { 
    velocity = 5 

    Switch (kBoard) 

    case 'a': 
    characterPosY -= velocity; 
    break; 

    case 'd':  
    characterPosY += velocity; 
    break; 
    return characterPosY; 
    } 
    public void Character() 
    { 
     (code to make the character appear) 
    } 
    } 
+0

全文書式が正しくありません。コードをインデントしてください。switch文を実行可能にするように並べ替えてください。返されるのはどこですか?characterPosYはどこですか? – Artemis

+0

したがって、characterPosYは、 'd'または 'a'ボタンが押された後の文字の新しいY位置を返すので、Y位置を変更してCharacterというメソッドに返します。 characterPosYと同じです。私はわずか1秒でフォーマットに乗ります。 – Devon

答えて

0

アクションリスナーは必要ありません。 スキャナーを使用する必要があります。スキャナーは入力を常に読み取るものです。

public static char KBoard(char w, char a, char s, char d) 
{ 
    Scanner scan = new Scanner(System.in); 
    System.out.print(""); 
    char kBoard = scan.nextChar(); 
    return kBoard; 
} 

でも、誰でも知っておく必要がある場合は、ここで見ることができます。ここでフィルタを追加して、if-else文を使って、渡された唯一の文字があなたが望む文字であることを確認することができます。他の文字は動作しません。

関連する問題