トップページ > 記事閲覧
Xを押して画面を切り替える
名前:RANDER 日時: 2019/10/20 23:42

<環境> Windows10 DXライブラリ visual studio 2018 <質問> 変数functionを使って画面を切り替えるプログラムを作ってるのですが、Xを押しても変数の値が変化せずにいます。何が間違っているのでしょうか? もう一つあるのですが、画像を描画する関数はDrawGraphだと思いますが、もしキャラが被った場合、敵キャラを主人公に上に来るように被せたいのですが、 主人公を描画する関数DrawGraphの後に敵を描画する関数DrawGraphを書けばいいのですか? <プログラム> #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { SetGraphMode(800, 780, 32); // ウィンドウの大きさを指定 ChangeWindowMode(TRUE); // 全画面ではなくウインドウを使用 if (DxLib_Init() == -1) return -1; // DXライブラリ初期化処理 SetDrawScreen(DX_SCREEN_BACK); // 裏画面を使用する設定 int White; int function = 0;    int Xkey = 0; while (ProcessMessage() == 0) { gpUpdateKey(); // キーの入力状態を取得 if (Key[KEY_INPUT_X] == 1) { //キーXを押すとfunction_statusは0になる function = 1; Xkey = 1; } if (Key[KEY_INPUT_X] == 1 && Xkey == 1) { //キーYを押すとfunction_statusは1になる Xkey = 0; function = 0;//戦闘画面に戻す } //これより以下は描画するためのプログラム ClearDrawScreen(); // 裏画面を if (function == 1) { White = GetColor(255, 255, 255); //色の取得 DrawString(100, 140, "攻撃方法の選択画面 (xをプッシュ)", White); ScreenFlip(); // 裏画面を表画面に反映 } DrawFormatString(50, 570, GetColor(255, 150, 170), "functionは%d", function); DrawFormatString(50, 590, GetColor(255, 150, 170), "Xkeyは%d", Xkey); ScreenFlip(); // 裏画面を表画面に反映 } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
メンテ

Page: 1 |

Re: Xを押して画面を切り替える ( No.1 )
名前:管理人 日時:2019/10/21 01:03

> 変数functionを使って画面を切り替えるプログラムを作ってるのですが、Xを押しても変数の値が変化せずにいます。何が間違っているのでしょうか? よくプログラムをご覧になれば RANDERさんご自身のお力で解決できる問題ですので、ヒントや答えは無しにしたいと思います > もう一つあるのですが、画像を描画する関数はDrawGraphだと思いますが、もしキャラが被った場合、敵キャラを主人公に上に来るように被せたいのですが、 > 主人公を描画する関数DrawGraphの後に敵を描画する関数DrawGraphを書けばいいのですか? はい、その通りです
メンテ
Re: Xを押して画面を切り替える ( No.2 )
名前:RANDER 日時:2019/10/21 08:10

どうもありがとうございました。
メンテ
Re: Xを押して画面を切り替える ( No.3 )
名前:傍観者 日時:2019/10/21 11:06

//キーYを押すとfunction_statusは1になる ↑このコメント通りのことを行いたいならば Yキーの状態を判定する記述がどこかに存在すべきであろう
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存