キーコンフィグについて

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

キーコンフィグについて

#1

投稿記事 by J » 17年前

こんばんわ。ただいまキーコンについて考えているのですが・・・
キーコンを保存してそれを読み出して・・・アレ?
その読み出したデータをどうすればいいのか分かりません。。
今、考えているのは、もし保存されているデータがAならば~とif文の連続を考えています。
それよりも効率的な方法がありましたら、どなたか知恵をください。

DXライブラリのBCC、C++です。

管理人

Re:キーコンフィグについて

#2

投稿記事 by 管理人 » 17年前

キーコンフィグについては龍神録プログラミングの館に作り方が書いてありますのでご覧下さい。

J

Re:キーコンフィグについて

#3

投稿記事 by J » 17年前

おお!そういえば、龍神録Plusの中にありましたね!
あれも解説してるんですか!ありがたいです。
ちょっと見てきます。

ついでですが、龍神録Plusプレイしてみましたよ。
スペルが楽しみだったのでスペルプラクティスしかしてませんが、すっごく面白いです。
それと同時に管理人さんの技術に圧倒されました。これからも是非ともがんばってくださいね。
平凡なことしか言えませんでしたが、応援しています。

p.s. 没スペルは不可能ですw

管理人

Re:キーコンフィグについて

#4

投稿記事 by 管理人 » 17年前

遊んで頂きありがとうございます。
スペルプラクティスしか遊んでいないと言う事ですが、
ボツの2つの弾幕以外
ストーリーモードで一度でも見たスペルじゃないと遊べないと思うのですが、
遊ばれたのはその2つのことでしょうか??

ファンタズムは初めから遊べるのでよければ是非時間のあるときにでも遊んでみて下さいm(_ _)m。

コンフィグの件ですが
void first_ini(){
        configpad.down=0;
        configpad.left=1;
        configpad.right=2;
        configpad.up=3;
        configpad.bom=4;
        configpad.shot=5;
        configpad.slow=11;
        configpad.start=13;
        configpad.change=6;
}

こんな風に初期化していると思いますが、この右の数値をファイルなどに記憶しておけばいいでしょう。
 

J

Re:キーコンフィグについて

#5

投稿記事 by J » 17年前

見ていて分からない箇所があったので質問させていただきます。
//パッドとキーボードの両方の入力をチェックする関数
void GetHitPadStateAll(){
        int i,PadInput,mul=1;
        PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得
        for(i=0;i<16;i++){
                if(PadInput & mul)  pad.key++;
                else                pad.key=0;
                mul*=2;
        }
        input_pad_or_key(&pad.key[configpad.left]   ,CheckStateKey(KEY_INPUT_LEFT    ));
        input_pad_or_key(&pad.key[configpad.up]     ,CheckStateKey(KEY_INPUT_UP      ));
        input_pad_or_key(&pad.key[configpad.right]  ,CheckStateKey(KEY_INPUT_RIGHT   ));
        input_pad_or_key(&pad.key[configpad.down]   ,CheckStateKey(KEY_INPUT_DOWN    ));
        input_pad_or_key(&pad.key[configpad.shot]   ,CheckStateKey(KEY_INPUT_Z       ));
        input_pad_or_key(&pad.key[configpad.bom]    ,CheckStateKey(KEY_INPUT_X       ));
        input_pad_or_key(&pad.key[configpad.slow]   ,CheckStateKey(KEY_INPUT_LSHIFT  ));
        input_pad_or_key(&pad.key[configpad.start]  ,CheckStateKey(KEY_INPUT_ESCAPE  ));
        input_pad_or_key(&pad.key[configpad.change] ,CheckStateKey(KEY_INPUT_LCONTROL));
}

の部分で
if(PadInput & mul)
とあるじゃないですか。
その&とはどういうものなんでしょうか?
今まで一度もif文の中で演算子として使われているのを見たことがありません。
回答よろしくお願いします。

バグ

Re:キーコンフィグについて

#6

投稿記事 by バグ » 17年前

&は論理積を求める演算子です。
互いに1(真・偽でいう真)である場合にのみ1(真)を返し、それ以外は0(偽)を返します。
A B 出力
0 0  0
0 1  0
1 0  0
1 1  1
それ以外の論理演算について知りたい場合は下記URLのHPが分かり易いかもしれません。
http://www.asahi-net.or.jp/~AX2S-KMTN/ref/logicope.html

ただ、今回の件に関しては、ビット演算を先に理解すべきかもしれませんが…。

管理人

Re:キーコンフィグについて

#7

投稿記事 by 管理人 » 17年前

mul*=2;
と書いた方が逆に解りにくかったでしょうか^^;
ビットを一つシフトしているのです。
まずGetJoypadInputStateの関数の性質について理解する必要があると思いますので、
バグさんの仰ったリンク先をご覧の上、
本家リファレンスのGetJoypadInputStateの説明部分をお読み下さい。

閉鎖

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