1 名前:名前は開発中のものです。 [2009/03/31(火) 01:14:36 ID:IgyJcgap] Cを習得した程度のスキルでも、 GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 過去スレ:DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/ DXライブラリ 総合スレッド 2008 pc11.2ch.net/test/read.cgi/gamedev/1224923873/
244 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 17:07:42 ID:nDXZOisY] 大した負荷じゃないんじゃない?
245 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 17:31:35 ID:d1JBtW4A] HDDからいちいち読み込んでるとアホみたいに遅くなるぞ
246 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 19:45:39 ID:uQ1uMZZL] 下三行への突っ込みだと思う
247 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 20:03:43 ID:PVitCZoM] jpgやpngはロードした時点でbmpに変換されるんじゃなかったっけ。
248 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:37:28 ID:SY9MChf5] pngやらはゲーム処理が遅くなるかもしれんが、 bmpを使うとゲーム容量が馬鹿デカクなる気がする 実際にどれほど処理・容量の違いがあるのかが知りたいNe!
249 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:43:38 ID:Lde+nmZH] いまどきbmpで作ったからって容量が多くなりすぎて困るって事はないと思うけどなぁ。 3Dゲームとかノベルゲームとかならまだしも。 むしろ容量食うのは音楽。
250 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:30:16 ID:opiwTOF8] ある程度DL数が多かったり、自宅サーバだったりする場合は けっこう容量も気になってくるのだそうな。
251 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:49:48 ID:rdJ4/1mO] bmpじゃないと透過色が定まらない…
252 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 13:26:24 ID:Ttltxn7S] 俺はpng一択。αチャネルを1ファイルで処理できるのが便利すぎる (bmpやjpgだとチャネル用の別画像を用意しないといけない) ちなみに読み込みだけにCPU負荷がかかるだけで、 テクスチャになってしまえば転送速度は同じ。 bmpの場合はファイルサイズも大きくなり、読み込みに時間が逆に掛かることもあるので、適材適所が良いと思います
253 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 21:09:50 ID:opiwTOF8] 質問。 32x32の画像があって、これを2倍に拡大して表示するのと、 64x64の画像があって、これを等倍で表示するのとでは、どっちが高速? 拡大する手間がある分だけ遅くなると見るべきか、元々の画像が小さいから有利と見るべきか。 実測してみたけど、いまいちよく分からん。
254 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 21:24:41 ID:xxFjO+BK] 実測してわからないのならどうしようもないような……。
255 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 00:55:35 ID:1QCRwyZH] >>253 前者の方が早いでしょう 拡大表示処理はハードウェア(Direct3D)で行うので、とても高速ですよ
256 名前:239 mailto:sage [2009/05/23(土) 12:29:43 ID:A4cQi3hh] 2000*4000くらいの大きな画像や、小さい画像を1000個くらい描画してみて DrawRectGraphとDerivationGraphの違いを検証してみましたが、 メモリ、ビデオメモリ、処理速度に目立った違いは見受けられませんでした。 なので扱いやすいDerivationGraphを使って行こうと思います。
257 名前:名前は開発中のものです。 [2009/05/23(土) 13:25:24 ID:ORU4uz0n] 自分や友人がDxLibを使って作ったゲームを俺のPCで起動させると、始めはいいんだが、しばらくしてから必ず30フレームになってしまうのはなぜかわかる人いるか? 俺のPCは「VGN-AW71JB」っていう型なんだが…。PC版のスプリンターセルはヌルヌル動き続けるし、スペックの問題ではないと思うんだが…。64bitのvistaってのがなにか影響してるのかな?
258 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 17:37:42 ID:XAnqJ6HC] 257 名前:名前は開発中のものです。[] 投稿日:2009/05/23(土) 13:25:24 ID:ORU4uz0n 自分や友人がDxLibを使って作ったゲームを俺のPCで起動させると、始めはいいんだが、しばらくしてから必ず30フレームになってしまうのはなぜかわかる人いるか? 俺のPCは「VGN-AW71JB」っていう型なんだが…。PC版のスプリンターセルはヌルヌル動き続けるし、スペックの問題ではないと思うんだが…。64bitのvistaってのがなにか影響してるのかな?
259 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 20:01:55 ID:5w7OxnoQ] インデックスカラー方式の画像描画はどうやったらいいんでしょうか。パレットを切り替えて色を途中で変えたりしたいんですが。
260 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 20:38:13 ID:JcHBq+Qd] 一度メモリに読み込んでからパレット部分を書き換えて、グラフィックハンドルに登録する。 つまり、途中で自在に色換えはできない。 わかる、君のやりたい事はわかる。 スプライトの色変えみたいに自在にやりたいんだよな。でもできない。
261 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 22:53:41 ID:5w7OxnoQ] PCってファミコン以下の糞環境なんですねラスタースクロールもできないし
262 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 23:00:23 ID:KtGbScqt] DirectXでも弄ってろよ
263 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 00:14:29 ID:wnjrF3Q2] ラスタースクロールなんて10年ぶりに聞いた
264 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 00:17:36 ID:mQM6vOM4] >しばらくしてから必ず30フレームになってしまうのはなぜかわかる人いるか? 処理速度が低下するような時は、メモリーリークの可能性がある、 簡単に書くと、メモリを解放せずループで使いっぱなしにすると メモリーがどんどん不足してゆき処理速度低下として症状が現れる。
265 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 00:42:23 ID:3op8nAnx] >>259 一色ごとに画像を抽出してそれを全部白くして、表示時に色をいじってだね・・・ コストはかかるが、あくまで自由自在に色をいじりたい奴だけそうしてみるとか
266 名前:名前は開発中のものです。 [2009/05/24(日) 04:14:52 ID:7GmmmL9x] FilmtnとBCCつかうとコンパイルとプログラム実行一瞬でめちゃくちゃ速いな VC2008は豪華だけど重い
267 名前:名前は開発中のものです。 [2009/05/24(日) 17:40:43 ID:seD1hHi/] >>264 同じソースでも、友人のPCだったら落ちないという… 落ちないようにするにはどうしたらいいかな? ※と、書いてる途中でタスクマネージャーを見たら、CPU使用率が90%以上に張り付いてた。 他何も起動してないし、アプリケーションを停止したら0%に戻る。意味不明。
268 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 19:21:41 ID:e3aiszR0] そりゃ友人のPC環境が良いだけって話にならんかね。
269 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 20:01:22 ID:PboGdTn+] まぁ、ソースを見ないとなんともいえないな。 文字描画するのに、毎回文字の大きさ変えて描画してるとか
270 名前:名前は開発中のものです。 [2009/05/24(日) 23:50:08 ID:seD1hHi/] 自分 CPU:Core 2 Duo 2.66GHz RAM:4.00GB 友人 CPU:Core 2 Duo 2.40GHz RAM:2.00GB ソースとして挙げるなら、DxLibのホームページの、ゲーム作成講座のソース。 四角君が自分に向けて弾を撃って来るあのソースですらなりました。
271 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 00:30:41 ID:41gxgfIl] いちいちageるなぼけ
272 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 01:34:29 ID:eHx6nkcb] c++教室の2Dアニメーションのプログラムを書いたんだが、表示されない 何が悪いのか……
273 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 01:53:57 ID:UZHs9GNu] それは愚痴か、質問か。 質問だったら「エスパーじゃないんだから、そんな事知らん」
274 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 02:16:31 ID:/EmhtAKe] DirectXを最新版にしてみたら?
275 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 07:48:45 ID:qL901e+j] 指定ファイル名が違うとかダブルバッファの処理がおかしいかメモリに読み込まれてないかじゃね
276 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 10:55:40 ID:yXpMtdiR] 俺はScreenFlipでの垂直同期周りだと予想 グラボと設定によっては同期待ちのタイミングでCPU処理に加算されとても重く「感じる」ことがある。
277 名前:名前は開発中のものです。 [2009/05/25(月) 15:09:43 ID:bb62p5Sd] SetWaitVSyncFlag(FALSE); でカオスになるぜ!
278 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 17:43:21 ID:WrI50zFN] >277 誰もが一度は通る道www
279 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 04:36:49 ID:cQqUnwcL] 3D背景を実装するのって難しいかね
280 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 04:47:29 ID:klPEh/z6] あなたの実力による
281 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 00:03:12 ID:vY9ARI7K] チラ裏。 Dxライブラリをうまく名前空間に突っ込めないかなー、と思ったが 自前で改造しなきゃならない量を考えると挫折しそうだって愚痴。 >279 3Dで作った背景を2D画像に落として、 無理やりパターンアニメで表示させてるって作品があったような気がする。
282 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 01:20:12 ID:4j6tq9JR] >>279 実際にいじってないのでなんとも言えないが ここに映像つきのサンプルあるよ。 dixq.net/rp/
283 名前:279 mailto:sage [2009/05/29(金) 06:57:39 ID:Vqjs1m4E] >>280 ふむ…努力次第でどうにでもなるという解釈でおkかな。時間はかかりそうだがやってみないことにはわからないな >>281 横シューのなら見たことあるwwものすごい労力の割に拡張性が無さそうでなぁ… >>282 おお、こんな感じで動かせられるなら… とりあえずテクスチャを簡単にくりくり動かせるような関数でもつくってみることにする
284 名前:名前は開発中のものです。 [2009/05/29(金) 21:51:58 ID:izoQPgWw] VC2008って無意味に重いなあ 関数かいてカーソル合わせると宣言が表示されるから便利なんだけどなあ
285 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 23:04:59 ID:ATWupmEU] ツール→オプション→環境→自動バックアップ→自動バックアップの実行間隔→60分ごと
286 名前:名前は開発中のものです。 [2009/05/30(土) 23:32:29 ID:3JWvpnu4] >3Dで作った背景を2D画像に落として、 >無理やりパターンアニメで表示させてるって作品があったような気がする。 いいねこれメガテンの3Dダンジョンみたいなのに使えるな
287 名前:名前は開発中のものです。 [2009/05/31(日) 03:54:51 ID:/tj3gvKS] int state = 0; swith(state){ case 0: if(CheckHitKey(KEY_INPUT_RETURN)){ 文字表示 state++; } case 1: if(CheckHitKey(KEY_INPUT_RETURN)){ 文字表示 state++; } case 2: if(CheckHitKey(KEY_INPUT_RETURN)){ 文字表示 } } という風にすると、全部一気にキー判定されて、同時にすべての文字が表示されます。 WaitKeyとかWaitTimerを使う以外で、エンターを押すごとに順番に表示させるにはどうすればいいでしょう?
288 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 04:07:26 ID:WdCW0LKP] >>287 コンパイルしてないから、実際に動くかは知らんが、 enterが押しっぱなしの時は、flagを0にシナイので、 enterが離されて、再度flagが0になってからswitch文の実行が行われる。ように改造すれば 望みの結果が得られると思う。 int state = 0; int flag =0; if(flag == 0){ switch(state){ case 0: if(CheckHitKey(KEY_INPUT_RETURN)){ flag =100; 文字表示 state++; } case 1: if(CheckHitKey(KEY_INPUT_RETURN)){ flag =100; 文字表示 state++; } case 2: if(CheckHitKey(KEY_INPUT_RETURN)){ flag =100; 文字表示 } } }else if(flag != 0) {f( !CheckHitKey(KEY_INPUT_RETURN) ){ flag =0; }
289 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 04:49:59 ID:j4yiAyL2] /*>>287 の意図する動作かどうかわからんが、俺がいつも使ってる方式 キーバッファを設けることによって、押された瞬間を判定することができる*/ #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); if (DxLib_Init() == -1) {return -1;} SetDrawScreen(DX_SCREEN_BACK); char key_buffer[2][256]; // キーバッファ int state = 0; while (ProcessMessage() != -1) { ClearDrawScreen(); // 前のフレームの入力状態を保持 for (int i = 0; i < 256; i++) { key_buffer[1][i] = key_buffer[0][i]; } // 現在のフレームの入力状態を取得 GetHitKeyStateAll(key_buffer[0]); // 「現在のフレームで押されている」かつ「前のフレームで押されていない」ならば if (key_buffer[0][KEY_INPUT_RETURN] && !key_buffer[1][KEY_INPUT_RETURN]) { state++; // 次の状態へ } // state の値によって分岐するなり何なり DrawString(0, 0, "Press enter key!", GetColor(255, 255, 255)); DrawFormatString(0, 20, GetColor(255, 255, 255), "状態%d", state); // 適当なところで終了 if (state == 10) {break;} ScreenFlip(); WaitTimer(10); } DxLib_End(); return 0; }
290 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 05:11:01 ID:YoqdwaI9] とりあえずbreakしようぜ
291 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 08:31:50 ID:JGIiJgnT] if((CheckHitKey(KEY_INPUT_RETURN))&&LeftFlag==0){ LeftFlag=999; 文字表示}else LeftFlag=0; 押したときだけ処理するようにすればいけそう?
292 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 08:46:00 ID:P4ttxSKS] static break
293 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 15:21:06 ID:jTyG44wW] if(CheckHitKey(KEY_INPUT_RETURN)){ if(enter_cnt<100){enter_cnt++;} }else{ enter_cnt=0; } if(enter_cnt)//押している間 if(enter_cnt==1)//押された瞬間
294 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 15:22:27 ID:jTyG44wW] if(CheckHitKey(KEY_INPUT_RETURN)){ if(enter_cnt<100){enter_cnt++;} }else{ enter_cnt=0; } 半角消えるのか
295 名前:名前は開発中のものです。 mailto:sage [2009/05/31(日) 20:06:14 ID:kvaGbtb9] >>286 DOGA最盛期にうんざりするほどあったよそういうの
296 名前:名前は開発中のものです。 [2009/06/01(月) 03:53:44 ID:ojIQArFl] CheckHitKeyで押された回数を数えるにはどうしたらいいでしょう?
297 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 03:59:15 ID:YGv3z7sb] >296 if文とインクリメント
298 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 04:02:48 ID:7hVJjQOF] >>296 今話題の押された瞬間を数えて適当な変数に保存しときゃいいんでね?
299 名前:名前は開発中のものです。 [2009/06/01(月) 04:12:11 ID:ojIQArFl] 下のプログラムを改良して、エンター押すごとにA,B,C,Dを表示させていくにはどうしますか。 下のままだと、ABCDっていっきに表示されます。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE); if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1; int col1 = GetColor(255, 255, 255); char input[4]; int i = 0;
300 名前:名前は開発中のものです。 [2009/06/01(月) 04:13:52 ID:ojIQArFl] >>299 続き while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){ if(CheckHitKey(KEY_INPUT_RETURN)){ switch(i){ case 0: input[i] = 'A'; break; case 1: input[i] = 'B'; break; case 2: input[i] = 'C'; break; case 3: input[i] = 'D'; break; } i++; } if(CheckHitKey(KEY_INPUT_SPACE)){ ClearDrawScreen(); DrawString(0, 0, input, col1); } ScreenFlip(); } DxLib_End(); return 0; }
301 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 08:41:57 ID:7hVJjQOF] キーを1回押されるごとに処理したい場合の あるごりずむ体操 (ループはじめ) ↓ <前回キーが押されていたか?> YES→ (ループおわり) ↓ NO <キーが押されているか?> NO → (ループおわり) ↓ YES [キーが押された時の処理] ↓ (ループおわり)
302 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 08:43:59 ID:OkPmCHq7] iの値も0に戻してあげようね
303 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 09:36:50 ID:hCSvJ7Y8] リアルタイム処理でないのならScreenFlipのあとにでも↓を追加しときゃいいんじゃね? while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 && CheckHitKey(KEY_INPUT_RETURN) == 1 ){ Sleep(16) ; }
304 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 10:52:22 ID:YGv3z7sb] >>301 昔、組み込みプログラムでやったな、そういう処理。
305 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 16:12:49 ID:rm5/xw9E] クラス化するとか class Key { private: int keyCode, state; public: Key( int KeyCode ) : keyCode( KeyCode ), state( 0 ) {} int CheckHit() { int tmp = state; state = CheckHitKey( keyCode ); return tmp ? 0 : state; } }; //WinMain ... Key enter( KEY_INPUT_RETURN ); if(enter.CheckHit()){ ...
306 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 21:33:29 ID:lE2okL9b] 無駄すぎ糞ワロタ
307 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 22:14:20 ID:MR6y8v2X] そこで無駄のないソースの登場ですね。
308 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 22:52:38 ID:aqGzCF5U] 俺もクラス化してるから、簡潔な方法があるなら教えて欲しい。
309 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 22:57:02 ID:eaj8yaj9] そもそもこのプログラムはスペースを押さないと表示させないようにしてるのかな それはともかく言われたように押してくごとにABCD表示させようと思ったら >>300 を変更するとしたら int returnOn = 0; // ← while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){ if(CheckHitKey(KEY_INPUT_RETURN) && !returnOn){ // ← switch(i){ case 0: input[i] = 'A'; break; case 1: input[i] = 'B'; break; case 2: input[i] = 'C'; break; case 3: input[i] = 'D'; break; } i++; returnOn = 1; // ← } if( !CheckHitKey(KEY_INPUT_RETURN)) returnOn = 0; // ← (以下略) とかやるとか
310 名前:名前は開発中のものです。 mailto:sage [2009/06/01(月) 23:27:38 ID:FdTrWJbB] static変数のフラグ使うのが一番単純だと思うなあ
311 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 09:36:41 ID:9M4SMxHr] hsp時代にも散々似たような処理書いたなぁ… なんかゲームのメインループ() { if((Aボタン==1)&&(Aボタンバッファ==0)) { なんか押された瞬間だけ1回やりたい処理 } Aボタンバッファ=Aボタン } 最初からKEY_DOWN、KEY_UP的なものがライブラリに有れば楽なんだが ゲームじゃしょっちゅう使うし
312 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 09:48:11 ID:fOpSnwq/] 32ビットか64ビットの整数をバッファにしてビット演算で書き込み、取り出しが一般的だろ そのバッファに生でアクセスすることはあまりないが、 かといってキーごとにオブジェクト化するのもありえない
313 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 11:07:30 ID:lqyt4myq] 299にいきなりそんな話してもわかんないでしょ。
314 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 11:08:32 ID:fOpSnwq/] 抜けてたが、 上の例の場合、バッファは二つ以上ないとあまり意味ない キーがマッピングしきれないって人はchar配列とか使えばいい よりこだわる人はRawInputで
315 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 21:23:19 ID:CgQN485t] >キー入力 自分が使ってるルーチンのコードを記事にまとめました d.hatena.ne.jp/kokarage/20090602/p2
316 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 22:46:42 ID:D2ufpiqQ] 入力の話題が出たので キーコンフィグの実装で悩んでるんだけど、 >>315 とかだと KEY_INPUT_なんとか の部分は変えられないし どうやってキーコンフィグ実装するんだろうか・・・ 同じようなソースでenumを弄っても根本的には変わらないし
317 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 23:00:27 ID:fOpSnwq/] 少しは頭使えよww
318 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 23:00:38 ID:vp7xQIPq] >>315 の例で言うならkeyb_keyを動的に書き換えりゃよかんべよ KEY_INPUT_なんとかとスクリーンに表示する文字との対応表は作らにゃならんが
319 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 23:19:31 ID:rGe8VGDA] 抽出 ID:fOpSnwq/ (3回) 312 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 09:48:11 ID:fOpSnwq/ 32ビットか64ビットの整数をバッファにしてビット演算で書き込み、取り出しが一般的だろ そのバッファに生でアクセスすることはあまりないが、 かといってキーごとにオブジェクト化するのもありえない 314 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 11:08:32 ID:fOpSnwq/ 抜けてたが、 上の例の場合、バッファは二つ以上ないとあまり意味ない キーがマッピングしきれないって人はchar配列とか使えばいい よりこだわる人はRawInputで 317 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 23:00:27 ID:fOpSnwq/ 少しは頭使えよww
320 名前:名前は開発中のものです。 mailto:sage [2009/06/02(火) 23:23:59 ID:9M4SMxHr] >>316 自分の場合: ちょっと>>315 と関数の仕様が違うけど KEY_STATE getKeyState(int pad_num, KEY_FUNC key_func); if(getKeyState(1, shot_btn) == KEY_DOWN){ ショット処理 } コンフィグのiniファイルかなんかを読んで shot_btnとかjump_btnとかの数字を適当に書き換える 今パッと思いついただけでコンフィグ実装したことないけど
321 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 01:33:47 ID:BENUHFDk] >320 俺も大体そんな感じでやってる
322 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 01:35:57 ID:ZbYk0Q0K] 変な質問。 ウインドゥモードにした場合、勝手にウインドゥを作成して表示ではなく、あるウインドゥを使うように することってDXライブラリではできますか?
323 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 02:49:29 ID:jjOgvpoK] >>322 例えばIEのウィンドウに表示したりとか? 意味がよくわからんが何より意図がわからない
324 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 04:00:28 ID:bNYd6KiM] どうせならGetHitKeyStateAllの方使った方がよくね
325 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 10:50:20 ID:tN/MRQC4] MDIにしたりとかだろ。 無理じゃないか?
326 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 12:26:59 ID:jjOgvpoK] >>324 ジョイパッド無理じゃなかったっけ? まぁ可能かどうかは別にして それをどうラッピングして押下げや押上げの判定を楽にしようかって話なんじゃ
327 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 14:28:21 ID:/YZEGe2A] 俺の場合はGetJoypadInputState と GetHitKeyStateAll を併用で一括入力管理して 押上判定は個々の部分でやってるな。
328 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 17:51:51 ID:JOR7X/qw] クラス化するとしたらこんな感じですかね? ttp://www.dotup.org/uploda/www.dotup.org90647.zip.html 考え方は>>315 と同じ
329 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 18:54:40 ID:jjOgvpoK] みんな色々なやり方で面白いな。 自分はWin32APIのイメージが強すぎたせいか KEY_UPとかキー状態の列挙体を戻り値で返す方法前提で考えていたけど メンバにアクセスして真偽だけ返すという手もあるのか…
330 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 20:15:41 ID:n5yqAu71] >>319 意味わからん。>>307 さんですか?
331 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 20:41:08 ID:RNCUnVzX] いや307は俺。
332 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 22:22:44 ID:DNn913L5] おいおい勝手に俺を名乗るなよ
333 名前:名前は開発中のものです。 mailto:sage [2009/06/03(水) 23:55:15 ID:ZbYk0Q0K] 俺も307です
334 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 00:44:33 ID:4zSVCft7] じゃあオレも307
335 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 00:56:02 ID:uCnhFctq] 俺がこんなにいるなんて……作業がはかどるかなぁ。
336 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 03:42:53 ID:pMlbkkXE] 能力は1/5だけどな
337 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 04:45:47 ID:EMFSgqr3] 天津飯かよ
338 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 07:23:29 ID:pMlbkkXE] >337 名乗ったのが4人なら、もっと天津飯ネタを取り入れていた
339 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 19:12:58 ID:EMFSgqr3] で、 >>328 式がベストでおk?
340 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 21:55:52 ID:94jaKxLF] 2Dに限ってなんだが 結局の所 DXライブラリで作ったゲームと OpenGLで作ったゲームと DirectXで作ったゲームって どこがどうちがうの?ほぼ一緒だろ?
341 名前:名前は開発中のものです。 mailto:sage [2009/06/04(木) 23:58:41 ID:NBcwy8pb] >>340 名称が違う 難易度も違う
342 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 00:24:06 ID:LjYKB7R9] >>340 DXライブラリ:楽。動作実績が大きい。 OpeGL:日本のゲーム作りに関しては情報少ない。 DirectX:DXライブラリと似たようなラッパーを書く事になる。動作検証要。
343 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 00:26:20 ID:jQ78PNQ2] DXライブラリのサポートは金とってもいいレベル
344 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 00:29:54 ID:MVmrQAbM] 世界的な実績で言うなら、その3つの中で一番下のような気もするけどなーw