検索結果 8 件

by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー制御について
返信数: 7
閲覧数: 4841

Re: キー制御について

解決押し忘れてました。

また行き詰ったときはよろしくお願いします。
by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー制御について
返信数: 7
閲覧数: 4841

Re: キー制御について

なるほど、参考になります。

頭ではある程度形になっていても実際にプログラムを書いてみるとなかなか難しいところもあります。
色々考えながら試行錯誤してみます。
by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー制御について
返信数: 7
閲覧数: 4841

Re: キー制御について

カウントやフラグで管理するのが一般的なんですね。ごちゃごちゃするというのは、フラグの数が多くなってしまうということでした。言葉足らずですみません。

「DXライブラリの関数の使い方(基本)」の「全てのキーの入力状態を取得する」のところは参考にさせていただいています。選択画面など一つの処理のときや、連続する処理に必要なキーが違うときは問題ないのですが、違う処理で同じキーを使うことが続く場合に問題が生じます。
キーを押して最初の処理は通って、次の処理は一回キーを離してもう一度押して通したいと考えています。

やはりフラグなどは処理ごとに用意したほうが管理しやすいですよね?
by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー制御について
返信数: 7
閲覧数: 4841

キー制御について

DXライブラリにて、エンターで進む処理について質問です。
RPGでエンターで戦うボタンを選択し、攻撃対象を選んでからエンターで攻撃。のような、エンターでの操作が続く場合です。GetHitKeyStateAllでキーの状態を取得し、if(Key[KEY_INPUT_RETURN] == 1)を二回続けてしまうと一度に処理されてしまうので、今はカウントを数えたりフラグを立てたりで処理しています。しかし、プログラムが長くなるにつれごちゃごちゃしてくるので他にもっと良い考えがあるのではないかと感じています。

そこで、同じキーで進める操作の場合はどのようにするのがベストな考えなんでしょうか?
by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: エフェクトをゆっくり表示するには
返信数: 7
閲覧数: 5368

Re: エフェクトをゆっくり表示するには

回答ありがとうございます。

とても参考になり、無事エフェクトを目的通りゆっくり表示させることができました!

まだまだ私は考え方が甘く、もっと勉強しなければいけませんね...


簡単な質問をするかもしれませんが、また行き詰ったときはよろしくお願いします。
by JON
10年前
フォーラム: C言語何でも質問掲示板
トピック: エフェクトをゆっくり表示するには
返信数: 7
閲覧数: 5368

エフェクトをゆっくり表示するには

現在RPGを制作しており、攻撃するときの斬撃エフェクトを表示したいと思っています。
エフェクト素材9枚をLoadDivGraphで読み込み、表示しているのですが

コード:

if ( Key[KEY_INPUT_RETURN] == 1) {
		for (int i = 0; i < 9; i++) {
			DrawGraph(250, 200, effect1[i], TRUE);
		}
	}
のようにするとあっという間に表示が終わってしまいます。
色々考えてみてもなかなかうまくいかず困っています。

この場合どのように考えるといいのでしょうか?
by JON
11年前
フォーラム: C言語何でも質問掲示板
トピック: Enterを押して会話を進めるには
返信数: 2
閲覧数: 2050

Re: Enterを押して会話を進めるには

前者のコードが目当ての動作に近く、大変参考になりました。
もっと柔軟に考えていかなければならないと痛感しました(汗

わかりやすい返信ありがとうございました。
by JON
11年前
フォーラム: C言語何でも質問掲示板
トピック: Enterを押して会話を進めるには
返信数: 2
閲覧数: 2050

Enterを押して会話を進めるには

短い文章を表示するプログラムを書いているのですが、Enterを押して次に進める方法がよくわかりません。 以下コードになります #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { int image[10]; int back[10]; int mat[20]; int font; int white = GetColor(255, 255, 255); SetGraphMode(800, 600, 32); Cha...

詳細検索ページへ移動する