[過去ログ]
DXライブラリ 総合スレッド その5 (1001レス)
DXライブラリ 総合スレッド その5 http://echo.5ch.net/test/read.cgi/gamedev/1259912953/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
65: 名前は開発中のものです。 [sage] 2009/12/08(火) 08:20:15 ID:bmgyrVLx キー入力関連はゲームだとよく使うし、関数化しておくと便利ですよ。 「何フレーム入力されているか」が解るようにしておけば、ボタン関連の操作は「1フレーム目」または、「キーを離したフレーム」で処理すれば 連続で不必要な処理まで進んでしまう事がありません。 例えば本家のGetHitKeyStateAllを自分で使いやすいようにしたのが GetHitKeyStateAll_2関数です。こんな感じで使えます。 (→コードは次へ) この例ではエンターの入力時間によって処理を分岐しています。 キーの入力状態を格納する変数がint型なので _2関数をさらに「離された時マイナスのカウントをする」ようにすれば 離されてからのフレーム数も解ると思います。 ・・ところでコードを見やすいように字下げする方法無いんでしょうか; http://echo.5ch.net/test/read.cgi/gamedev/1259912953/65
66: 名前は開発中のものです。 [sage] 2009/12/08(火) 08:21:20 ID:bmgyrVLx /****** エンターキーをおした瞬間だけ四角形を描画する *******/ #include "DxLib.h" int GetHitKeyStateAll_2(int KeyStateBuf[]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++; else KeyStateBuf[i]=0; } return 0; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ int Key[256]; ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ DrawFormatString(0,0,GetColor(255,255,255),"%d",Key[KEY_INPUT_RETURN]);//エンター入力カウント if(Key[KEY_INPUT_RETURN]==1)//今の瞬間押されたら DrawBox(0,0,640,480,GetColor(255,255,255),TRUE);//画面全体を白い四角で表示 ScreenFlip(); } DxLib_End(); return 0; } http://echo.5ch.net/test/read.cgi/gamedev/1259912953/66
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s