VC++2008EEで作業 DXライブラリ使用
CODE:
//main.cpp
#include "DxLib.h"
#include "Joypad.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
//ウィンドウモード変更と初期化と裏画面設定
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
//画面更新 & メッセージ処理 & 画面消去
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
Joypad_Update();
if(Joypad_Get(3)==1){//上キー押した瞬間 ()内の数字 0~3方向 4~各キーパッド
DrawString(10,20,"OK",GetColor(255,255,255)); // 文字を描画する
}
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
CODE:
//Joypad.cpp
#include "DxLib.h"
static int m_Pad;
static int tmpPad[26];
// キーの入力状態更新
void Joypad_Update(){
m_Pad = GetJoypadInputState(DX_INPUT_KEY_PAD1); //入力状態をPadに格納
for( int i=0; i0){ //押されている間
処理内容
}
みたいな感じ
(int PadCode)内の数字とキー対応
// 0: ↓チェックマスク(下キー or テンキーの2キー)
// 1: ←チェックマスク(左キー or テンキーの4キー)
// 2: →チェックマスク(右キー or テンキーの6キー)
// 3: ↑チェックマスク(上キー or テンキーの8キー)
// 4: 1ボタンチェックマスク(Zキー)
// 5: 2ボタンチェックマスク(Xキー)
// 6: 3ボタンチェックマスク(Cキー)
// 7: 4ボタンチェックマスク(Aキー)
// 8: 5ボタンチェックマスク(Sキー)
// 9: 6ボタンチェックマスク(Dキー)
// 10: 7ボタンチェックマスク(Qキー)
// 11: 8ボタンチェックマスク(Wキー)
// 12: 9ボタンチェックマスク(ESCキー)
// 13: 10ボタンチェックマスク(スペースキー)
分からない事多すぎて目が回りそう。
取りあえず書いては動かし、書き直しては動かし。
効率がどうとかは、あーさっぱりさっぱり。