DXライブラリ ジョイパッド 押した瞬間 入力状態確認 試作メモ

アバター
LDR
記事: 0
登録日時: 10年前
連絡を取る:

DXライブラリ ジョイパッド 押した瞬間 入力状態確認 試作メモ

投稿記事 by LDR » 10年前

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ボタンチェックマスク(スペースキー)

分からない事多すぎて目が回りそう。
取りあえず書いては動かし、書き直しては動かし。
効率がどうとかは、あーさっぱりさっぱり。
添付ファイル

[拡張子 zip は無効化されているため、表示できません]


コメントはまだありません。