ジョイコンの押された判定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
無能プログラマ9

ジョイコンの押された判定

#1

投稿記事 by 無能プログラマ9 » 6年前

昨日にもトピックを立てましたがキーボードではできたのですがジョイコンでやるとスキップされてしまいます 

コード:

int p1Flag=0; //プレイヤー決定
int charaFlag=0;	   //メッセージボックス確認用フラグ
int staFlag=0;		   //ステージセレクト決定
int p1Circle=0;             //player1の●ボタンが押されたか

//////決定
if(p1Circle==0)	//●ボタンが押されてないとき
{
	if ((GetJoypadInputState(DX_INPUT_PAD1) & PAD_INPUT_2) != 0)								//ジョイコンの●ボタンが押されたら
	{
		if (objs.getStagePD())								    // もしPlayer1のPlayerPDがtrueなら{}内を実行
		{
    			p1Flag=1;										// player1のキャラが決まったことにする
			p1Circle=1;									// player1の●ボタンが押された設定
			objs.setStagePD(false);							// Player1のキーが押されている設定にする
		}
	}
	else 
	{
		if (!objs.getStagePD()) objs.setStagePD(true);          // Player1のキーを押されていない設定にする
	}
}
if(p1Flag==1&&p1Circle==1)
{
	p1Circle = 0;   //player1の●ボタンを押されてないことにする
	charaFlag=1;	//player1とplayer2がキャラを決定したらcharaFlagを1にする
}

if(p1Circle==0)  //player1の●ボタンを押されてないとき
{
        if((GetJoypadInputState(DX_INPUT_PAD1) & PAD_INPUT_2) != 0)	// 	// player1の●ボタンが押されたとき
			{
				 staFlag=1;    //ステージが決定されたことにする
				 p1Circle = 1;  //player1の●ボタンが押されたことにする
                         }
}
if(staFlag==1&&p1Circle==1)       //	// player1の●ボタンが押されたとき
{
            slc.setProg(2);   //次の画面に行く		
}							   
実行をするとキャラの選択が完了した後すぐに次の画面に行ってしまいステージ選択ができませんどうしたらよろしいのでしょうか

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ジョイコンの押された判定

#2

投稿記事 by みけCAT » 6年前

無能プログラマ9 さんが書きました:昨日にもトピックを立てましたが
名前が違いますが、ジョイパッドの入力状態のことですか?
無能プログラマ9 さんが書きました:キーボードではできたのですがジョイコンでやるとスキップされてしまいます
同様にやればいいはずだと思うので、「キーボードではできた」コードを貼っていただけますか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

無能プログラマ9

Re: ジョイコンの押された判定

#3

投稿記事 by 無能プログラマ9 » 6年前

そうです ジョイパッドの入力状態のフォーラムの事です

キーボードのほうで出来たといいましたがステージセレクトの時の決定が別のボタンで同じボタンにするとジョイコンと同じ結果になってました。
すみません

アバター
かめのこのこのこ
記事: 15
登録日時: 7年前

Re: ジョイコンの押された判定

#4

投稿記事 by かめのこのこのこ » 6年前

直接的な解決法を示すわけではないので申し訳ないのですが、Visual Studio のデバッガの使い方を紹介しておきます。
(もし 無能プログラマ9さんが使っている開発環境が Visual Studio でなければごめんなさい)

最初にマスターしたいVisual Studioのデバッグ機能 - 基本編
http://news.mynavi.jp/articles/2008/08/18/debug/
(掲載されているものは Visual C# 2008 Express ですが、少なくともこれ以降にリリースされたものであれば、C++やC#などの言語を問わず同じように操作できます。)

まずは、ブレークポイントとステップインを使ってどのように処理が行われているのか、1行ずつ追って行ってみてください。
おそらく、無能プログラマ9さんが予想していないプログラムの処理が行われていることに気づいてもらえると思います。

返信

“C言語何でも質問掲示板” へ戻る