東方はタイトル画面でZキーを押しっぱなしでもどんどん前に行きません。
というのはZキーが押されたら次の画面へ・・・という判定を作ると
押しっぱなしでも反応してしまうので、タイトル画面→難易度選択画面→1ステージといきたいのが、
タイトル画面で決定キーを押しっぱなしにすると難易度選択画面が飛ばされてしまうのです。(というよりは難易度選択画面でも押しっぱなしの決定キーが反応し即座に次の画面へいってしまいます。
どうすればいいのでしょうか?
説明が下手なのでわからなければいってください。
お願いします。
今までの方法では画面に移るごとにカウントをして、カウントが60になるまで操作はできないようにするという方法をとっていましたが、不便ですごく微妙でした。
キーの反応について
Re:キーの反応について
今のフレームで取得した入力の状態と、
前のフレームで取得した入力の状態をどこかに保存しておくと可能ですよ。
例えばよく使うのは、
「今が押されていて、なおかつ前は押されていない」場合は、たった今押された、
「今が押されていなくて、なおかつ前は押されていた」場合は、たった今離された、
「今も前も押されている」場合は、押され続けている、
など。
ただこの方法は、押され続けていることは判定出来ますが、
押され続けている長さをカウントすることは出来ません。
どうしても必要があるのならば、別にカウンタを用意するか、
龍神録プログラミングの「キーコンフィグに対応させてみよう」を参考にされると良いですよ。
前のフレームで取得した入力の状態をどこかに保存しておくと可能ですよ。
例えばよく使うのは、
「今が押されていて、なおかつ前は押されていない」場合は、たった今押された、
「今が押されていなくて、なおかつ前は押されていた」場合は、たった今離された、
「今も前も押されている」場合は、押され続けている、
など。
ただこの方法は、押され続けていることは判定出来ますが、
押され続けている長さをカウントすることは出来ません。
どうしても必要があるのならば、別にカウンタを用意するか、
龍神録プログラミングの「キーコンフィグに対応させてみよう」を参考にされると良いですよ。
Re:キーの反応について
>>situmonさん
DxLibでサンプルを作成してみました。
Zキーを押すたびに文字が切り替わるようになっています。
押しっぱなしには反応していませんのでご確認くださいませ。
使い方合ってるんですかね・・・。
リファレンスを見ながらやってみたので、もし期待の動作でなかったら御免なさい;
DxLibでサンプルを作成してみました。
Zキーを押すたびに文字が切り替わるようになっています。
押しっぱなしには反応していませんのでご確認くださいませ。
#include "DxLib.h" char NowKey[256]; [color=lime>// 今現在のキー情報[/color] char OldKey[256]; [color=lime>// 1フレーム前のキー情報[/color] bool CheckFlag = FALSE; [color=lime>// キーが押されたかどうかのチェック用[/color] int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK ) != 0) return -1; while(ProcessMessage()==0 && ClearDrawScreen()==0 && NowKey[KEY_INPUT_ESCAPE]==0) { memcpy(OldKey, NowKey, sizeof(NowKey)); [color=lime>// 今のキー情報を1フレーム前のキー情報にコピー[/color] memset(NowKey, 0, sizeof(NowKey)); [color=lime>// 今のキー情報をクリア[/color] GetHitKeyStateAll(NowKey); [color=lime>// キー情報の更新[/color] [color=lime>// 「今のキー情報」Zが押されていて、「1フレーム前のキー情報」Zが押されていない[/color] if((NowKey[KEY_INPUT_Z] == 1) && !(OldKey[KEY_INPUT_Z] == 1)) { CheckFlag ^= 1; } if(CheckFlag) DrawString(10, 50, "サンプル文字列A", GetColor(255, 255, 255)); else DrawString(10, 50, "サンプル文字列B", GetColor(255, 255, 255)); ScreenFlip(); } DxLib_End(); return 0; }
使い方合ってるんですかね・・・。
リファレンスを見ながらやってみたので、もし期待の動作でなかったら御免なさい;
Re:キーの反応について
お答えいただきありがとうございます。確認はしてませんので一度確認してみます。(すいません)
しかしみていて、その手があったか!と思いました。
oldkeyとnewkeyに分ける方法を龍神録のプログラムに当てはめて考えて見ます。
yさんDVDMさんありがとうございました。
もしまたわからないときは手助けお願いします。
これは関係ない話なのですが、DVDMさんは曲も作られるのですか?
それとサイトで(DVDMさんの)絵を見たのですが、とてもうまいですね!!
線画もphotoshopでしょうか?
しかしみていて、その手があったか!と思いました。
oldkeyとnewkeyに分ける方法を龍神録のプログラムに当てはめて考えて見ます。
yさんDVDMさんありがとうございました。
もしまたわからないときは手助けお願いします。
これは関係ない話なのですが、DVDMさんは曲も作られるのですか?
それとサイトで(DVDMさんの)絵を見たのですが、とてもうまいですね!!
線画もphotoshopでしょうか?
Re:キーの反応について
>>situmonさん
[color=gray>>これは関係ない話なのですが、DVDMさんは曲も作られるのですか?[/color]
何年か前にちょこっと作ったことがあるくらいで今はもう曲作りはできないですね;
[color=gray>>それとサイトで(DVDMさんの)絵を見たのですが、とてもうまいですね!!
>線画もphotoshopでしょうか?[/color]
お褒め頂きましてありがとうございます^^
そうですね・・・基本的に絵はPhotoShop上で全て作成していますので線画もPhotoShopです~
[color=gray>>これは関係ない話なのですが、DVDMさんは曲も作られるのですか?[/color]
何年か前にちょこっと作ったことがあるくらいで今はもう曲作りはできないですね;
[color=gray>>それとサイトで(DVDMさんの)絵を見たのですが、とてもうまいですね!!
>線画もphotoshopでしょうか?[/color]
お褒め頂きましてありがとうございます^^
そうですね・・・基本的に絵はPhotoShop上で全て作成していますので線画もPhotoShopです~
Re:キーの反応について
>>situmonさん
[color=gray>>まえにファイル形式で霊夢などの絵を見せてもらいましたが・・・[/color]
ん~、霊夢の絵ってあげてましたっけ・・・記憶にないです;
龍神録のキャラ二名をアップした記憶はあるんですけどね;
[color=gray>>もしよければ新しい絵を見せてください。[/color]
う・・・新しい・・・絵ですか・・・。
そうですね・・・学校の課題で描いたラフと、現在作ってるSTGで使う予定の絵を入れてみました。
こちらも全てPhotoShop上で作成したものでございます。
クリックでDL出来ない場合は下記のURLをコピーしてアドレスバーに貼ってみて下さい><
こ、こんなんで宜しいですか?
http://www.geocities.jp/dvdmvoid/SampleImage.zip
[color=gray>>まえにファイル形式で霊夢などの絵を見せてもらいましたが・・・[/color]
ん~、霊夢の絵ってあげてましたっけ・・・記憶にないです;
龍神録のキャラ二名をアップした記憶はあるんですけどね;
[color=gray>>もしよければ新しい絵を見せてください。[/color]
う・・・新しい・・・絵ですか・・・。
そうですね・・・学校の課題で描いたラフと、現在作ってるSTGで使う予定の絵を入れてみました。
こちらも全てPhotoShop上で作成したものでございます。
クリックでDL出来ない場合は下記のURLをコピーしてアドレスバーに貼ってみて下さい><
こ、こんなんで宜しいですか?
http://www.geocities.jp/dvdmvoid/SampleImage.zip
Re:キーの反応について
> situmonさん
龍神録のプログラムをご覧になっているのなら
龍神録の館の8章
http://dixq.net/rp/8.html
はご覧になっていないでしょうか?
ここに入力関連の関数の作り方が書いてあります。
その基礎についてはゲームプログラミングの館の
40a章
http://dixq.net/g/41.html
に書いてありますのでご覧下さい。
龍神録のプログラムをご覧になっているのなら
龍神録の館の8章
http://dixq.net/rp/8.html
はご覧になっていないでしょうか?
ここに入力関連の関数の作り方が書いてあります。
その基礎についてはゲームプログラミングの館の
40a章
http://dixq.net/g/41.html
に書いてありますのでご覧下さい。
Re:キーの反応について
Dixqさん
ありがとうございます。そのとおりやった上でです。(しかし龍神録のプロジェクトを丸ごと使っているわけではないのでわかりませんが・・・)
いちおうゲームパッドには対応です。(対応できるコードまでは書いてます。)
DVDMさん
ありがとうございます。
うまいですね。
シューティングはできましたか?
ありがとうございます。そのとおりやった上でです。(しかし龍神録のプロジェクトを丸ごと使っているわけではないのでわかりませんが・・・)
いちおうゲームパッドには対応です。(対応できるコードまでは書いてます。)
DVDMさん
ありがとうございます。
うまいですね。
シューティングはできましたか?
Re:キーの反応について
>>situmonさん
[color=gray>>シューティングはできましたか?[/color]
ゲーム作るためのクラス作り(前準備)の段階ですね。
ある程度ゲームのシステムについては終わったので、クラスの見直しと絵を補おうとしているところですね。
なので、ゲームとしてはまだ遊べない段階です;
[color=gray>>シューティングはできましたか?[/color]
ゲーム作るためのクラス作り(前準備)の段階ですね。
ある程度ゲームのシステムについては終わったので、クラスの見直しと絵を補おうとしているところですね。
なので、ゲームとしてはまだ遊べない段階です;
Re:キーの反応について
そうですか。こちらもがんばらなければ・・・
回答してくれた皆様どうもありがとうございました。
もしまた何かわからないことがありましたら是非お願いします。
回答してくれた皆様どうもありがとうございました。
もしまた何かわからないことがありましたら是非お願いします。