「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【Processing】複数キー同時入力の取得方法

複数キー同時取得の対応方法を自分用にメモ。

[ 対応方法 ]

import java.util.HashMap;
import java.util.Map;

//入力を取得したいキーをあらかじめ登録しておきます。
final HashMap<Character, Boolean> InputMap = new HashMap<Character, Boolean>()
{{
   put('w', false);
   put('a', false);
   put('s', false);
   put('d', false);
   put(' ', false);
   put(ENTER, false);
   put(TAB, false);
}};

void setup()
{

}

void draw()
{
    // for (Map.Entry<Character, Boolean> Entry : InputMap.entrySet()) 
    // {
    //     if(Entry.getValue())
    //     {
    //         println(Entry.getKey() + "キーが押されています。");
    //     }
    // }

    if(InputMap.get('w'))
    {
        //ここはwキーとdキーが押された時に呼ばれます。
    }

    if(InputMap.get('a') && InputMap.get('d'))
    {
        //ここはaキーとdキーが同時に押された時に呼ばれます。
    }
}

void keyPressed() 
{
    if(InputMap.containsKey(key))
    {
        InputMap.replace(key, true);
    }
}
void keyReleased() 
{
    if(InputMap.containsKey(key))
    {
        InputMap.replace(key, false);
    }
}