HPLLib:setKeyAssign

出典: YKAwiki

目次

概要

キー割り当てを行います。どのキーを押したらどれがPRESSEDになるかをキーアサイン(キー割り当て)と呼びます。

書式

まず、次のようなIDを用意します。これはconst intでもいいのですが、宣言しやすいのでこっちにしました。

enum{
 eLeft=0,eRight,eUp,eDown,
 eA,eB,eC,
 eMaxKeyTypes
};

=0はデフォルトなので書かなくてもおk。eMaxKeyTypesはキーの割り当て数として便利。

次に、次のような配列を宣言します。第一項目が上で決めたID、第二項目が実際にSDLで判断されるキー番号を書きます。分からないものはSDL_keybord.hを参考にしましょう。

//キー割り当て表
int vvnAssign[][2] = {
 {eLeft,SDLK_LEFT},{eRight,SDLK_RIGHT},{eUp,SDLK_UP},{eDown,SDLK_DOWN},
 {eA,SDLK_z},{eB,SDLK_x},{eC,SDLK_c}
};

これはすぐ要らなくなるのでローカルで宣言していいよ。

で、アサイン

void gGame->setKeyAssign( int player, int num_index, int keyassign[][2]);
@param player プレイヤー番号。二人プレイなら2も使う
@param num_index 配列の数。すなわちいくつ設定したか。上のeMaxKeyTypesを入れよう
@param keyassign 

使用例

int InitApplication(){
 //キーアサイン
 gGame->setKeyAssign( 0, eMaxKeyTypes, vvnAssign);
 return 0;
}

押されたキーを確認したい場合は関連の項を参照。

関連

HPLLib:isKeyDown
HPLLib:isKeyEdge
HPLLib:getKeyUpEventKey
HPLLib:getKeyDownEventKey