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/
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
345 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 00:39:57 ID:fb3Bnpon] ツクールシリーズ →日本人からプログラミングの素養を奪い取るキラーソフト DXライブラリ →日本人から3Dプログラミングの素養を奪い取るキラーソフト 漢ならLinux環境でC+OpenGLでvi+gdbするべし
346 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 01:17:49 ID:k3aCK9Tq] >>345 それなら薦めるべきはSDLな気がする それだけだとせっかくCとGL使ってもキー入力まわりで移植性がなくなる GLUTのキー処理は論外だし SDLからGL叩けるし メジャーなプログラミング言語のほとんどがSDL対応してるし でもこのスレ的にどうかと思うぜこの話題
347 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 01:22:53 ID:gGshfnNu] それだけ解っててなぜDXライブラリスレにいるのかと。
348 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 01:48:22 ID:byAKAyX7] 「作ったゲーム」に関していう違いなら DXライブラリで作ったゲーム 動作実績があるライブラリだから動作する環境が多い 速度は各ソフトの特性に合わせて最適化できないぶん遅い ライブラリで実装されていてDirectX直叩きなら使える機能が使えないから表現力はDirectX直叩きした場合より劣る OpenGLで作ったゲームとDirectXで作ったゲーム エンジンの動作検証は作者PCのみだからプレイヤー環境で動作しない可能性はライブラリを使った場合より高い 作るソフトに合わせて最適化できるのでDXライブラリ作者と同レベルのプログラム力を持っていれば確実にDirectX直叩きのエンジンの方が動作速度が速い DirectX直叩きできるから表現力はDirectXの表現力とイコール
349 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 02:19:36 ID:byAKAyX7] 追記 基本的にゲーム製作を助けるためのものだからプレーヤー側から見ればDirectX直叩きで DXライブラリと同等かそれ以上の性能のオリジナルエンジンを使ってソフトを作ってくれた方が嬉しいのは確かだろう (それが製作者が支払う労力に見合うかどうかはさておき) ただ、DXライブラリの存在があったことによって世に出ることができたゲームソフトもあるだろうから 端的にプレーヤー側にとっては動作安定以外にはデメリットしかないという結論に達することはできない 345的な理論はBASIC言語についても似たようなことが言われていたね、まあ3D対応すれば多少は改善されるんじゃないか
350 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 06:01:05 ID:/qtS2mAS] 俺の場合はC++を重点的に学習したいからこれ選んでる DirectXとか使おうもんならC++の上にこれも覚える負担に駆られるためかなり厳しくなる DXLIBだと覚えること比較的少なく済むからC++に労力割けれるしね だからその人その人の状況次第でしょう あとこう書くといちゃもんつけてくる奴がいるから言っとくけど 全半角に突っ込むのなしね 俺タイプ苦手だから一々直すの面倒いからそれだけは言っとく
351 名前:名前は開発中のものです。 [2009/06/05(金) 07:44:06 ID:Jb6PFwRw] クソスレ晒し上げ
352 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 08:16:16 ID:2+rjN8tB] 面倒って……MS-IMEなら無変換キーを二回押すだけだし ATOKだってファンクションキー一回押すだけだろうに……。 ていうかタイプ苦手だから面倒なんじゃなくて それくらいを面倒がるからいつまでたってもタイプ苦手なんじゃないか。
353 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 11:48:16 ID:KAzeFILe] DXライブラリに関する書籍はないものでしょうか?
354 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 12:27:22 ID:/qtS2mAS] 俺は全角のが落ち着くの
355 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 14:40:29 ID:pZVc1EDu] 苦手というか、面倒という気持ちはわかる。 プログラミングしてて全角でコメントした後半角になおしたりとか正直邪魔くさい。
356 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 17:58:00 ID:b0tlHB//] >>353 初心者用でいいなら14歳から始める〜 とか
357 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 21:40:13 ID:k3aCK9Tq] >>348 >>349 一通り触ったことはなさそうなことだけ伝わってくる文だな その割に長くてうざい
358 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 21:56:05 ID:WwCy/X5Y] >>342 OpenGLならラッパー書かずに済むの?
359 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 23:07:05 ID:1schIxWd] OpenGLはラッパーどころかゲーム作りに必要な他の部品も必要。音楽再生とかキー入力とか画像読み込みとかどっかのライブラリ持ってくるなりしないといけないから超めんどくさいそりゃ普及せんわ
360 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 23:14:10 ID:KAzeFILe] >>356 明日あたり立ち読みしに行ってみます
361 名前:名前は開発中のものです。 mailto:sage [2009/06/05(金) 23:49:13 ID:LjYKB7R9] 14歳は名著でもあり地雷でもあるから気をつけろ。 誤字脱字内容間違い多いからな。
362 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 00:03:30 ID:H/iQ8fyW] >>359 むしろ技術力がつく
363 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 00:06:10 ID:sFhdVHFw] んなこと言い出しゃ自分でOpenGL、DirectX相当つくったり 自分で言語やコンパイラつくったり
364 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 00:44:32 ID:yKGSZjfM] >>322 俺もこれやりたい ウィンドウ周りは.NET Frameworkにまかせて、あるPictureBoxコントロールの中で描画とか
365 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 00:57:21 ID:sFhdVHFw] LunaかなんかのサンプルにMDIのウィンドウで動いているのなかったっけ?
366 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 02:23:33 ID:0RWuIZ8X] ある程度プログラムさえ分かってりゃある程度の誤字脱字には気付くんじゃまいか と言うよりあれはそんな初心者向きじゃないような気モス ある程度基本はできていた方がいいかも 俺は大分参考になったし俺のやり方はそれがベースになってる
367 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 14:28:01 ID:9zaJ0Qz/] マップスクロールってどうやるんだ? プレイヤーがx座標400ぐらいまで行ったら、背景画像をスクロールさせる感じで組んでみたら 動いてるようには見えるけど自身の座標は当然変わらず、後ろのハリボテが動いてるだけになったw どんな感じでマップスクロールって作ってる?
368 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 14:45:01 ID:mp6p4QK3] >>367 基本的のその考え方で間違ってない。 気に入らないならもっと考え方を進めていけばいいだけ。
369 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 15:02:08 ID:triYp4O5] アクションゲームなら、マップの座標は固定にしてカメラを動かすという考え方のほうがいいかもしれない。
370 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 16:34:01 ID:4wIgR8zN] よく2Dクォータービュー型の箱庭ゲームで画面の拡大・縮小というのがあるけど、 あれは裏バッファ2に描いておいて、裏バッファに縮小転送、フリップというやり方 なのでしょうか? それとも拡大・縮小の段階毎に元絵を用意しておいて、現在の段階に応じた元絵 を裏バッファに描画、フリップというやり方なのでしょうか?
371 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:22:10 ID:mp6p4QK3] やった事ないけど、俺がもしやるなら 普通にそれぞれの画像を描画する際に縮小描画するだろうな。 当然、表示座標も縮小計算して。
372 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:26:21 ID:Fiwfc+rD] 俺は普通に描画時に拡大縮小してる >>370 だと後者になんのかな