プログラミング学習日記

プログラミング学習時のメモ帳。

javafx game key管理

間違っている場所あったら優しく教えてね

keyを管理するクラスを作った

外部からはKeyChangeのメソッドと判定用のメソッドのみを,呼ばせる.

押されているキーに対してMapでtrue or false で判断している.

package game.util;

import java.util.HashMap;

import javafx.scene.input.KeyCode;

/**
 * KeyManager
 */
public class KeyManager {
    private static HashMap<KeyCode, Boolean> keyList = new HashMap<KeyCode, Boolean>();

    public static void KeyChange(KeyCode key, boolean isPressed) {
        if (isPressed) {
            pressKey(key);
        } else {
            releaseKey(key);
        }
    }

    private static void pressKey(KeyCode key) {
        keyList.put(key, true);
    }

    private static void releaseKey(KeyCode key) {
        keyList.put(key, false);
    }

    private static boolean getKey(KeyCode key) {
        if (keyList.get(key) == null) {
            return false;
        }
        return keyList.get(key);

    }

    /// getEachKey
    public static boolean RIGHT() {
        return getKey(KeyCode.RIGHT);
    }

    public static boolean LEFT() {
        return getKey(KeyCode.LEFT);
    }

    public static boolean UP() {
        return getKey(KeyCode.UP);
    }
}

ブログを見ていただきありがとうございました