キーを操作不可能にするには

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
まさかりたろう

キーを操作不可能にするには

#1

投稿記事 by まさかりたろう » 9年前

こんにちは。

質問なのですが、
フェードしてる最中は、操作をできないようにするって言うのはどうやったら実装できるのでしょうか?

キーの入力をその間は無効にするのでしょうけどその書き方がわからないのです。
ご教示お願いします。

アバター
Ciel
記事: 252
登録日時: 9年前

Re: キーを操作不可能にするには

#2

投稿記事 by Ciel » 9年前

フェード中はフラグでも立ててキー操作をしないようにすればいいのでは?
oui C'est la Vie♪

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: キーを操作不可能にするには

#3

投稿記事 by h2so5 » 9年前

キーの入力判定の部分をどのように実装しているのかを見せてください。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: キーを操作不可能にするには

#4

投稿記事 by Dixq (管理人) » 9年前

どのような処理構造になっているかによりますが、もし以下のような構造になっていれば

コード:

メイン処理計算();
メイン処理描画();
if( フェードアウト中なら ){
    フェードアウト();
}
これを

コード:

if( フェードアウト中ではないなら ){
    メイン処理計算();
}
メイン処理描画();
if( フェードアウト中なら ){
    フェードアウト();
}
こうすればよいのではないでしょうか。
フェードアウト中も背景が動くとか、計算しなければならない処理があるならば、
メイン計算のキー入力に応じた処理をさせないようにすればよいと思います。

現在フェードアウトの計算は何を基準に判断していますか?
Cielさんの仰るように何かフラグのような物があると思いますので、それを基準に処理を分けると良いかと思います。

まさかりたろう

Re: キーを操作不可能にするには

#5

投稿記事 by まさかりたろう » 9年前

>>Cielさん
>>h2so5さん
>>Dixqさん

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


>>Cielさん
>>Dixqさん
--
フラグを立ててやればできました。
ご教示ありがとうございます!!


>>h2so5さん
--
今回は解決できました!
ご返答ありがとうございました。



中々頭固いです。。

まさかりたろう

Re: キーを操作不可能にするには

#6

投稿記事 by まさかりたろう » 9年前

ごめんなさい

解決にしてしまいましたが、もうひとつ質問があります。


現在

if( c >= 0 && c < 256 ) SetDrawBright( c, c, c );

というゲームプログラミングの館さんにあるように書いているのですが、
これをfor文で

for( c = 0; c < 256; c++ ) {
SetDrawBright( c, c, c );
}

と書いても成功しません
これはいったいなぜなのでしょうか?

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: キーを操作不可能にするには

#7

投稿記事 by h2so5 » 9年前

if 文と for 文の意味を理解していますか?
もう一度入門書などをよく読むことをおすすめします。

アバター
パコネコ
記事: 139
登録日時: 9年前
住所: 大阪

Re: キーを操作不可能にするには

#8

投稿記事 by パコネコ » 9年前

いちおう書いときますね・・・
for文では他の処理ができないんですよね・・・
(中の処理しかできないため)
ですのでfor文の中に描写関数?を用意してあげればできるとは思います。
(あと処理待ち・・・)
if文ならば中の処理の後、外の処理も行ってくれるため、
成功するのではないでしょうか?
ただ、他の処理も行いたいならやはりif文のほうがいいのではないでしょうか?
ニャン!!\(゜ロ\)(/ロ゜)/

まさかりたろう

Re: キーを操作不可能にするには

#9

投稿記事 by まさかりたろう » 9年前

>>h2so5さん
--
もう一度よく読みたいと思います。
助言ありがとうございます。


>>パコネコさん
--
なるほど!
よくわかりました。

for文とif文だとそんなにやれることが違うのですね。
すごくわかりやすかったです。

ご教示ありがとうございました!!

閉鎖

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