- 1 名前:名前は開発中のものです。 mailto:sage [2008/10/25(土) 17:37:53 ID:BCFbbKco]
- Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 過去スレ:DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/
- 370 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 13:47:48 ID:hCfaSDI/]
- 失礼ですが質問です。
DXライブラリでプログラムを作って起動し、終了させたのですが、 なぜかウィンドウは消えてもタスクバーに"DxLib"が残ってしまいます。 閉じようと何度も試しましたが消えてくれません(タスクマネージャでもダメ)。 以前同じことが起こった時はパソコンの電源をスイッチから直接切らないといけませんでした。 何か解決策はないでしょうか。 このトラブルが発生した時は自分の失敗で無限ループを脱せず、 ツールバーのデバッグの停止を使って終了させました。 たぶん原因はこれだと思います。
- 371 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 14:31:31 ID:etDOrpmF]
- DxLib_End()
を呼ばなかったからに1票
- 372 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:06:35 ID:hCfaSDI/]
- >>371
一応プログラムには書いてありますが、 その無限ループが発生したループ内では通ってないと思います。 これが原因なのでしょうか。 しかしDxLib_End()を通ると即プログラム終了だと思っていたのですが・・・
- 373 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:15:38 ID:aPIdrXEx]
- DxLib_End()はライブラリの終了であって、
ちゃんとその後ループから抜けてプログラム自体終了(WinMainからreturn)してるの?
- 374 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:16:28 ID:va+Hleat]
- >何か解決策はないでしょうか
>たぶん原因はこれだと思います。 >これが原因なのでしょうか。 ソースも晒さず、これだ、あれだと聞き返されても返答が難しいよね >失礼ですが質問です。 失礼だと思ったので、回答は出来かねます
- 375 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 16:13:33 ID:hCfaSDI/]
- >>374
私に誠意が足りませんでした。申し訳ございません。 どう書けばよいのか分からないのですが、 WINMAINの中でreturnさせる直前にDxLib_End()を置いています。 DxLib_End()は一度限りでいいと思っていましたがもしかして違ったいたのでしょうか。 私が尋ねたかったのは、プログラムの起動中、 もしくは無限ループで抜け出せない時にデバッグの停止を行うと、 上述のトラブルが発生するのでしょうか、ということです。 分かりづらくて本当に申し訳ございません。 ソースに関しては、プログラムの内容について尋ねていたつもりではなかったため、 晒さずに漠然とした質問になってしまいました。この点に関しても私に落ち度がありました。 抜粋するのが適当だとは思いますが、ソースを全部晒しておきます。 ttp://www6.uploader.jp/dl/falljohn/falljohn_uljp00026.zip.html ・・・喧嘩腰に見えるorz 敬語って難しいです。
- 376 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 16:20:42 ID:hCfaSDI/]
- これではただの丸投げですねorz
int WINAPI WINMAIN( 略 ){ (ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している DxLib_End(); return 0; } という風にはしています。 ソースでは一応ですがループを自分で抜けられるようには少し変えています。
- 377 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 18:20:18 ID:P66gcfVh]
- ソースのヒドさがなんか好感もてるなw
>(ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している > >DxLib_End(); それだと、 そのループから処理が抜けない限り、絶対にDxLib_End()には辿り着かない そんでデバッグツールでの停止ではもちろんDxLib_End()が呼ばれず、それが問題だというのは一応あってるかもしれない
- 378 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 19:02:24 ID:KsfcQKrh]
- Flashのムービークリップや、
JavaScriptのsetIntervalのように 毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
- 379 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 23:22:56 ID:etDOrpmF]
- >>376
ソース見るのだるいから見ないが、 ループを抜けられるようにしてあるなら、ループを抜けてみてプロセスが残ってないか確かめればいいじゃないか。 プロセスがしっかり終了してればDxLib_End()が呼ばれてなくてそれが問題だったって分かるんじゃないか?まぁ、これだけじゃそうとも限らないが。 それでもし終了できていたらDxLib_End()を書いたものと書かないものとを比べればちゃんと分かるが。 で、それが分かればおのずと質問に答えられると思うが。 ただ、ProcessMessage()だっけ?で処理してくれるような終了の仕方(ってある?)の場合には、そこらをしっかり書けばちゃんと終了できると思うが。
- 380 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 23:59:30 ID:V4nq/52k]
- >>376
while(CheckHitKey(KEY_INPUT_SPACE)==0){ battle(); WaitKey(); } ScreenFlip(); WaitKey(); DxLib_End(); return 0; } これだとProcessMessageで-1引いてもループ抜けられないような気がする。 whileの条件式にProcessMessageの判定加えたらいいんでは。 あと抜けた後のWaitKeyは、強制終了後も参照されてしまうのでやめたほうがいい。
- 381 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 00:18:40 ID:F/Rau1w+]
- >毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
何を毎フレーム実行させたいんだ? というか質問は一つづつにしろよ
- 382 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 07:35:09 ID:Oinf+8tR]
- >>381
情報が足りませんでした。申し訳ありません。 JavaScriptでは、 var set = setInterval(function(){ 〜〜処理〜〜 }, 1); のようにすると、1ミリ秒ごとにfunctionを呼び出すことができます。 また、clearInterval(set);で解除することもできます。 同じように毎フレーム実行させることはできるでしょうか。 whileに全て入れるのが面倒なのです。
- 383 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 08:50:13 ID:35IX/qYC]
- >>379,380
アドバイスありがとうございます。 ProcessMessage()を完全に忘れていました。 まだまだ基本がなっていないようなので、しばらくROMって学んでいこうと思います。
- 384 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 09:59:47 ID:eUx/xd8R]
- >>382
どうも、聞きたいことがよく分からん。 while文に入れるのが面倒なほどに大量に関数があるのか? 複数の関数を一つの関数の中にまとめて、まとめた関数をwhile文の中においておくってのじゃダメなんか? それとも、while文に全て入れるのが面倒じゃなくて、 フレーム管理とかプログラムの状態遷移が分からないってことか? ってか、それはライブラリというより言語の使用じゃないか? もし仮にDxライブラリで出来たとしても、登録、解除のし忘れとかでバグの原因になりそうに思えるんだが。
- 385 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 11:50:37 ID:WsDU+BU3]
- 設計の問題であってDXライブラリとは関係ないな
for (int i = 0; i < enemyCount; i++) enemy[i].Update(); こういうようなことを言ってるの?
- 386 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:00:44 ID:Oinf+8tR]
- >>384
whileに全て入れるのが面倒に感じていましたが、言われてみるとそうですね。 >>385 毎フレーム実行させるという意味でこちらにきましたが、観点がずれていたようです。 while文の中にforループを入れるという発想はありませんでした。試行錯誤してみようと思います。ありがとうございました。
- 387 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:06:41 ID:WsDU+BU3]
- >>385みたいなのって定石だから
試行錯誤するよりも初心者サイトでも見て素直に真似した方がいいよ
- 388 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 20:56:28 ID:Nr8kFssc]
- >>377
少なくともVSの「デバッグの停止」ならDxLib_End()が呼ばれなかろうとなんだろうとちゃんとリソースを解放してくれるはず。 >>370がいつまでも終了しなかったのはexeを直接起動したかリリースビルドだったのでは? >>380 WaitKey()は別に問題ないよ。 あとScreenFlip()がWhileの外にあったら画面更新されないから中へ。
- 389 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 09:44:15 ID:fWlpK7Co]
- DXライブラリを使用つつ、DirectXを直接使用することは出来ないでしょうか?
○○->(うんたらかんたら) という処理が入っていると、エラーが発生して終了してしまいます。
- 390 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 11:16:24 ID:yJOODiUh]
- >389
その例文だと全く意味が伝わらない
- 391 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 14:03:14 ID:fWlpK7Co]
- >>390
わかり難くてすいません…… DirectXを直に使いたい所があるので以下のコードを追加し呼び出した所強制終了が発生したので、 やはりDXライブラリを使用しながら直接DirectXを使う事は難しいのでしょうか? #include <d3d8.h> void aaa(){ LPDIRECT3DDEVICE8 FogDev; D3DCOLOR FogCol; float FogStart; float FogEnd; FogCol=0xffffff; FogStart=100; FogEnd=300; //この中をコメントアウトすればエラー無し //逆に一つでもあるとエラーで落ちてしまう…… //================================================ FogDev->SetRenderState(D3DRS_FOGCOLOR,FogCol); FogDev->SetRenderState(D3DRS_FOGSTART,*((DWORD*)&FogStart)); FogDev->SetRenderState(D3DRS_FOGEND,*((DWORD*)&FogEnd)); FogDev->SetRenderState(D3DRS_FOGVERTEXMODE,D3DFOG_LINEAR); FogDev -> SetRenderState(D3DRS_FOGENABLE,true); //================================================ }
- 392 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 14:50:36 ID:2fY4/RNq]
- 質問ですが、ウィンドウモードにした時の左上のウィンドウアイコンは変更出来ますか?
- 393 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 16:25:19 ID:rRSsOCCS]
- >>391
参照エラーかな? DXライブラリ側でLPDIRECT3DDEVICE8って持ってなかったっけ? と無責任な事言ってみる。 DXライブラリのソース確認してみて。 >>392 出来るよん
- 394 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 18:28:35 ID:fWlpK7Co]
- >>393
ヘッダファイルを確認した所、LPDIRECT3DDEVICE7に関しての記述はみられましたが、 LPDIRECT3DDEVICE8についての記述はありませんでした。 ライブラリ初期化の前に読んだ所起動すらしなかったので、やっぱりDXライブラリとの競合ですかね……
- 395 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 20:07:47 ID:fWlpK7Co]
- どうやら単純にコードが悪かった様です。
スレ汚し失礼しました……
- 396 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 16:45:35 ID:EID2Tgc4]
- 前うpして感想頂いて、とてもやる気が出たので、
こんな感じの体験版となりました。 ttp://tikuwa.net/file/up7821.zip.html DLKey:dx
- 397 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 23:45:16 ID:c/8VRMs/]
- 頑張ってるじゃん
BGMやSEも自作? 引用があれば著作権等の明記はしっかりしておいた方が良いよ
- 398 名前:名前は開発中のものです。 [2009/01/16(金) 23:47:43 ID:iRSkofRl]
- DXライブラリ3Dのサイトが消えてるな
- 399 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:09:20 ID:zPKek+/O]
- ほんとだ、今見てみたら消えてるな
- 400 名前:名前は開発中のものです。 [2009/01/17(土) 00:17:49 ID:h2yGMjkV]
- DXライブラリでタイトルバー消すことって出来る?
イメージ的にはこういうものを作りたいんだけど www.geocities.jp/tjschallenger/TJS0320.html www.geocities.jp/tjschallenger/img/TJS031701.png ↓ www.geocities.jp/tjschallenger/img/TJS000301.png
- 401 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:30:31 ID:r/BmSdjn]
- >>400
ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html で紹介されてる方法で駄目なら、ちょっと工夫が要る気がする
- 402 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:42:14 ID:A53qKgs6]
- >>397
自作なので大丈夫かとは思います。
- 403 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:46:05 ID:hNEzfB40]
- 自作なのか……すげぇ。
- 404 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:57:18 ID:A53qKgs6]
- あ、DXライブラリとPNG読み込み機能の著作権表記してない…これはマズったかも…。
- 405 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 09:58:07 ID:OLTrE10N]
- >396
すげえ どんどん敵が固くなるw 敵がワイドショット撃ってくるあたりから先にいけん
- 406 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 10:33:37 ID:POC77fOB]
- >396
相変わらず難し過ぎる……w ところでなんかボスのライフが下がり切らない内に倒せたんだけど。制限時間? あとグレイズタイプって何かと思ったらサイヴァリアなのね。
- 407 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 11:55:31 ID:A53qKgs6]
- >>403
どれも芋臭い曲ばかりですけどね…。 >>405 殆ど自機狙いなので直前に避けるとやりやすいと思います。 >>406 サイヴァリアの快感を再現してみたかったんです。 ボスはかすりで永遠に稼げるのと、ショット弱体化の対策として、 ワインダーを放ち終えた2分で自滅するようにしてみました。
- 408 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 13:56:30 ID:f9VOjqEO]
- ループ前にメニューバー作ってループの命令に解像度変更機能を書いてみたんだが、
どうもフルスクリーンだけ正常動作しない 一応、ソース書いておく if(CheckMenuItemSelect_ID( 14)){ //起動時、フルスクリーン化 ChangeWindowMode( FALSE ) ; //フルスクリーンモードで起動 MAP_W = 640-SPAN_LR*2 ; SPAN_LR =128; SetGraphMode( 1024 , 768 , 32 ) ; SetMenuItemMark_ID(11, MENUITEM_MARK_NONE); SetMenuItemMark_ID(12, MENUITEM_MARK_NONE); SetMenuItemMark_ID(13, MENUITEM_MARK_NONE); SetMenuItemMark_ID(14, MENUITEM_MARK_CHECK); //SetAlwaysRunFlag(TRUE) ;//ウインドウがアクティブではない状態でも処理を続行するか SetDrawScreen( DX_SCREEN_BACK ) ; // 描画先画面を裏画面にセット } 文字は表示されてもグラフィックは読み込まれない 左上隅に表示されるんだが、自分は中央拡大描画を求めている
- 409 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 14:27:27 ID:CHF9ChFj]
- >>404
お前何か勘違いしてないか?知識なんて使って減るもんじゃないから只だと思ってんだろ? 人に物を訊くってのがどういう事だか、自覚してる? 知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。使っても減らないけど、教えたら広まった分だけ価値が下がる。それを分けてくれって言ってんの自分でわかってる? 社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。 そういうノウハウを分けてもらう申し訳無さみたいな物が、伝わって来ないんだよ。お前の態度からは。 猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。 猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。何回も言ったよな。謝る時は申し訳無さそうな顔をしろって。 そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、 何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。
- 410 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 14:35:00 ID:r/BmSdjn]
- 誤爆なのかそうでないのか……w
- 411 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 15:00:14 ID:A53qKgs6]
- >いい加減いつまでも学生気分じゃ。
耳が痛い話です。
- 412 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 15:06:33 ID:B1CiFUTT]
- 人生一勝勉強です。
- 413 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:00:07 ID:IVDG90gp]
- アンカミスだろw
- 414 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:46:40 ID:UCl/dEbD]
- ボクは社会人になってから学生時代以上に学生気分です。
- 415 名前:名前は開発中のものです。 [2009/01/17(土) 23:46:21 ID:h2yGMjkV]
- ウインドウモードで起動して
マウスの左クリックを監視するようにしました その際、ウインドウの範囲外をクリックしてもマウスの左クリックを認識してしまいます その解決策として ウインドウの左上の座標(x,y)からWindowの大きさ(X+width,Y+height)までの間でクリックされた時のみクリックを監視するという方法をとろうと思っています そこで質問なのですが ウインドウの左上の座標を取得する関数は存在するのでしょうか? また、無い場合は何か他に代用できる関数は標準ライブラリなんかに入っているでしょうか? あと、ウインドウがアクティブかどうか判断する関数ももしあったら教えてください 一応調べたのですがヒットしなかったためよろしくお願いします
- 416 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 23:53:38 ID:m/2DoB9T]
- 全部Win32APIにある
- 417 名前:名前は開発中のものです。 [2009/01/17(土) 23:57:48 ID:h2yGMjkV]
- >>416
ありがとうございます見つかりました 下のは GetActiveWindow() でいけそうですね 上も調べてみます。ありがとうございました
- 418 名前:名前は開発中のものです。 [2009/01/18(日) 01:29:33 ID:W8VFm9RV]
- 度々すいません
>>415はアドバイスのお陰で全て解決しました ところで、作成したexeを起動するとLog.txtというものができるのですがこれは仕様なのでしょうか? logファイルを作成しないように設定することは出来ないのでしょうか? よろしくお願いします
- 419 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 01:46:03 ID:bv5ORrRe]
- リファレンスを log で検索してみた?
- 420 名前:名前は開発中のものです。 [2009/01/18(日) 19:14:35 ID:d7+8UZEG]
- Dx_Lib()
より前でSetOutApplicationLogValidFlagを呼びださなければなら無かったのですね 解決しましたありがとうございました
- 421 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 19:22:47 ID:Dn7rF8in]
- dxlibって英語の使い方が変だよね
LogValidとか
- 422 名前:名前は開発中のものです。 [2009/01/18(日) 20:26:55 ID:d7+8UZEG]
- もしかしてめちゃくちゃ初歩なのかもしれないけど
他のツールで作ったソフトの内部でDXライブラリを呼び出すことって出来るんですか? 例えば、ノベルゲーム作成ツールでゲームを作って、ところどころでDXライブラリで作ったゲームを組み込む みたいな感じで ノベルのほうで普通にDXライブラリ製のソフトを呼ぶと窓が起動してしまいますよね? ノベルのほうと同じ窓でゲームを実行することってできないのでしょうか? 意味がよく分からなかったらすいません
- 423 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 20:58:55 ID:N4guzxX8]
- たぶん無理だと思うが
- 424 名前:名前は開発中のものです。 [2009/01/18(日) 21:03:33 ID:BZ0GBkU2]
- >>422
何が言いたいのかはわかるけど、残念ながら恐らく不可能。 両方でしっかりデータの受け渡しができれば、携帯アプリの前編後編みたいにすることは出来るかも知れないけど、 現存のツールではそこまでの機能は無いと思うし……。
- 425 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 21:11:32 ID:Dn7rF8in]
- プロセス二つ作ってパイプで通信すればいいじゃない
- 426 名前:名前は開発中のものです。 [2009/01/18(日) 21:29:03 ID:d7+8UZEG]
- >>423,424
そうですか・・・ あまり知識無いんですけど、描画先のウィンドウハンドル(ここではノベゲー)を取得して、内部でDXライブラリ製のソフトを呼び出した時 ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなことができれば可能なのかな? よくわからないorz >>425 具体的にはどういうことでしょうか? ぐぐったら分かるかな アドバイスありがとうございます
- 427 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 21:39:59 ID:GlhQpd6d]
- プラグイン形式的なDLLを作成すれば可能
- 428 名前:名前は開発中のものです。 [2009/01/18(日) 22:57:46 ID:d7+8UZEG]
- >>427
ありがとうございます やることとしては>>426に書いたとおり >描画先のウィンドウハンドル(ここではノベゲー)を取得して、内部でDXライブラリ製のソフトを呼び出した時 >ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなことができれば可能なのかな? 描画先を既存のウィンドウにすればいいんですよね これってどうやるんだろう・・・・
- 429 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 23:10:15 ID:3xnYsDJW]
- >>422
できるぞ、(ただし、元のプログラムが自作かせめて、DLLを使えるのが前提だが。) >>426 >ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなこと・・・・ は、難しいと思う。 見た目的には、同等の事も可能だと思うが、実際にそのウィンドウに・…はややこしいと思う。 (内部的にその元アプリがどんな事してるか次第だけど、DXlib使うとDX内処理もあるから フック掛けて完璧に使えるとは思えないから。) >>425じゃないけど、参考になりそうな。 ttp://funini.com/kei/vs/named_pipes.shtml ttp://www.fides.dti.ne.jp/~tokai/vc/vcpipe.html ttp://msdn.microsoft.com/ja-jp/library/cc430103.aspx ttp://msdn.microsoft.com/ja-jp/library/cc429587.aspx ttp://msdn.microsoft.com/ja-jp/library/cc429021.aspx ttp://www.02.246.ne.jp/~torutk/cxx/sharedmemory/win32_shmem.html ttp://www.alpha-net.ne.jp/users2/uk413/vc/VCT_FileMapping.html
- 430 名前:名前は開発中のものです。 [2009/01/18(日) 23:14:26 ID:d7+8UZEG]
- >>429
ベースプログラムは吉里吉里かSystem4.0を考えてるので多分dllの読み込みは可能かとも居ます 実際色々プラグイン公開されてるし 色々ありがとうございます 調べてみます
- 431 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 10:34:52 ID:X5SZs/u2]
- >>396
亀だがやってみた とりあえず途中から敵固すぎワロタ ボンバーなしじゃ無理な気がww 俺のシューティングは随分昔にシューティングスレに投下してから弾幕に凝っててあんまり見た目の進歩がないぜ
- 432 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 17:31:41 ID:yZM1xSvo]
- >>431
固さは面とレベルの兼ね合いにしたいと思います。 最近見かけばかりに力を入れてて肝心のゲーム内容は…。
- 433 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 17:42:09 ID:IkXU3fd8]
- 星のパーティクルがすてき。
- 434 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 20:32:05 ID:j6ExWMod]
- シューティングってこんなに作るの難しかったんだな
ゼビウスみたいのなら楽勝だろとか思ってました、ごめんなさい
- 435 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 11:58:06 ID:dMyWKq6o]
- 初心者です
質問なのですが、ゲームのBGMで 最初に戻って繰り返すときBGMをとぎれてしまわないようにする方法はありますでしょうか 例えばRPGの戦闘音楽のようにずっと放置していてもきれいにループするような方法です
- 436 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:40:01 ID:/e+EiVUH]
- 曲の途中で違和感のない位置に飛ばせばいいと思う。
俺はやったことないけど homepage2.nifty.com/natupaji/DxLib/function/dxfunc_sound.html#R8N13 これできれいにループするんじゃない?
- 437 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:51:49 ID:dMyWKq6o]
- >>436
ありがとうございます!勉強してチャレンジしてみます!
- 438 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 15:22:07 ID:A5DSi9Sd]
- >435
あと、姑息な手段で申し訳ないが MIDIのようにサイズを気にしなくて済むようなものなら、最初から10分続くファイルにしてしまうという手もある。
- 439 名前:名前は開発中のものです。 mailto:sage [2009/01/21(水) 22:18:20 ID:2s5lyHkK]
- PlaySoundMem()でループ再生フラグを指定すればいいよ。
>>435がファイル形式を言ってないのでわからないけどwavなら綺麗にループする。
- 440 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 15:31:01 ID:Xr8Aa3cY]
- >>439
たぶん>>435が使っているファイルは曲の最初と最後が繋がってないやつなんだろう。 だから、普通にループ指定すると音が途切れずにループしない。 けど、市販ゲームでもこういうBGMあるし、俺は気にしないけどな
- 441 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 17:11:41 ID:q+tQcJ7A]
- >>435
無音時間の全くない完全なシームレスループにしたい場合、下のページが参考になると思います。 ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_multibuf.html API使わないといけないのとWAV限定ですが。
- 442 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 17:15:00 ID:9/RQfEqV]
- >>441
FF10のジェクト戦みたいにボーカルいれた音楽をBGMとして使えそうだな すげえ
- 443 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 17:34:21 ID:Bh2KGHfp]
- >>440
「最初に戻って」って書いてあるからなぁ。 でも途切れる方法が書いてないところが色んな憶測を呼ぶよね。 まぁここまでで解決方法出たと思うからいいんだけどさ…。
- 444 名前:名前は開発中のものです。 mailto:sage [2009/01/26(月) 16:05:31 ID:2mzhNCi2]
- DXライブラリ(2.25)のプロジェクトがコンパイルできない。
'/O2' と '/RTC1' は同時に指定できません ってコンパイルエラーが出る。 プロジェクトの設定でO2→Odにしてるんだけれども。 RTC1の方を切ればコンパイルできるんだけど、なんでだー!
- 445 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 19:51:30 ID:Wy6ip41+]
- フルスクリーン化ではなく、ウィンドウモードでの最大化って
どうやったらできるんでしょうか?
- 446 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 06:27:02 ID:mi0nZoft]
- 起動時に設定ファイルなり引数なり読み込んで解像度変更させちゃえば?
- 447 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 08:53:12 ID:dFEgAXD4]
- >>445は画面サイズを可変にしたいということ?
どこかにそれっぽいサンプルがあったような……。気のせいかな。
- 448 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 09:07:06 ID:KRmQ80Gs]
- SetWindowSizeChangeEnableFlagで可変設定、
SetGraphModeで直接指定ができるね なんとかして使ってるモニタの解像度を取得して当て込めば出来るかも だけど処理速度は厳しいだろうな
- 449 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 10:47:56 ID:rbcO49fB]
- ウィンドウのサイズを変えたいのじゃなくて
右上の最大化のボタンを押せば、標準的なアプリと同じような 動作にしたいです、 画面全体にきっちり広がって間違ってマウスでドラッグしても動かないような感じです
- 450 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 00:40:50 ID:XJc1/NhO]
- えーと、それで、何がしたいの・・・?
- 451 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 10:34:54 ID:lmI58fq8]
- >>449
普通にフルスクリーンモードじゃなくてウインドゥモードにすれば いいだけじゃないの? そういう関数あったと思うけど。
- 452 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 12:40:27 ID:8EnnwsB0]
- デフォルトでは画面の端っこにマウスポインタを当ててもサイズは変えられないし
最大化ボタンも押すことができない これを変えたいってことなら サイズの手動変更の場合は>>448 あとはSetUseASyncChangeWindowModeFunction()で最大化ボタン有効化だと思うんだが ちょっとこっちの使い方が分からないorz
- 453 名前:名前は開発中のものです。 [2009/02/01(日) 22:16:17 ID:2n+Oqc2F]
- 縦シューを作ろうと思ってるんですが、
480x640で起動することってできますか?
- 454 名前:名前は開発中のものです。 [2009/02/01(日) 22:20:08 ID:90n+ELwG]
- >>453
homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R4N1
- 455 名前:名前は開発中のものです。 [2009/02/01(日) 22:30:43 ID:2n+Oqc2F]
- >>454
できた! ありがと^^ 起動時に640x480になってるのが気になるけど、まいっか
- 456 名前:名前は開発中のものです。 [2009/02/01(日) 22:34:51 ID:90n+ELwG]
- >>455
もっと早い段階で呼び出せば良いよ DxLib_lint()より上で呼べば最初からそのサイズになる
- 457 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 01:44:28 ID:igrRGuw3]
- DXライブラリで同人ゲームを作ろうと思っています。
C++でプログラミングするにあたって、横スクロールアクション(マリオとかロックマンみたいな) の作り方のサンプルを紹介してるサイトってないですかね? ↓シューティングゲームについては四聖龍神録さんのページが非常に役に立ちました! dixq.net/rp/
- 458 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 09:38:48 ID:2Cf0XhT+]
- >>457
公式HPのサンプル
- 459 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 14:27:42 ID:CO3XfILg]
- 応用力の無いやつや
- 460 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 16:43:08 ID:KduT8vdn]
- >>457
C++でのサンプルはどこにもない。と言い切っていい。 JAVAだが、考え方としてはいいかもしれないのでこれを見て、自分で考えてはどうか。 javagame.skr.jp/index.php?FrontPage これもC++ではないが、考え方としては(以下同文 itpro.nikkeibp.co.jp/article/COLUMN/20060228/231306/?ST=swd-tech やはり、自分で考えて試行錯誤するしかないのではと思う今日この頃
- 461 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 21:32:21 ID:6meQrl/q]
- 最初はグローバル変数使いまくって
次に構造体をグローバルにして使いまくって 次に構造体をポインタで書き換えるようにして 引数に構造体のポインタがどんどん増えていき 次に各構造体の先頭のポインタをまとめた構造体をつくってそれを引数にしたんだけど だいたいみんなこんな感じ?
- 462 名前:457 mailto:sage [2009/02/04(水) 22:20:44 ID:igrRGuw3]
- >>458-460
レスサンクスです! >>460 まさにこういうページ探してました! 横スクロールと敵の制御とか参考になりまくりです。 言語は問わないんですが、STGの情報は多いのにACTはなかなか無かったので。 ↓自分でも探してたんですが専門学校(?)のゲームの作り方ページもよかったです。 rina.jpn.ph/~rance/directx8/ Web上だとなかなか情報が無いから、専門学校の 教科書が欲しいなんて思っちゃいました。笑
- 463 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 03:42:29 ID:GjXLMUdb]
- >>461
前から気になってはいたんだけど、構造体とかグローバルで使うのって何かまずいことでもあるの? ポインタにする利点をずぶの素人の俺にも分かり易く教えて欲しい。 引数で構造体を直に渡してなければ余り関係ない気がしてるんだけど。
- 464 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 07:27:08 ID:rTUW0rFP]
- グローバルな変数は、他で書き換えられるかもしれないことを
いちいち考えないといけないんだよな プログラムの複雑さが増すので乱用は慎しめと言われてる
- 465 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 08:09:33 ID:ojur6QxZ]
- はっきり言ってしまえば、そのプログラムを自分しかさわらなくて、
注意して組む自身があるならグローバルでも問題ないと思う。
- 466 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 08:48:42 ID:9t4FKbe4]
- >>465
俺は、あえて 「昨日の自分は他人」だと思って、 可能な限り、必要性のない限り グローバル変数は使わない方がいいと思うけどね。 (特に、携帯機器とかメモリ節約とか求められてない時は余計に。) >>463 “普通の”ポインタの利点は、微妙だな。ただ、まだまだある所じゃ、速度的に値のコピーよりも 参照して行った方が効率が良かったり、処理の記述がしやすくなったり。 ただ、あるClassのポインタ(関数ポインタ含む)は処理の委譲に頻繁に利用される。 利点として、全体像が綺麗にできるし、コードの混雑が大きく減る。 cf.Strategy パターン Decorator パターン 双方向リスト 動的確保
- 467 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 09:31:40 ID:Qc5+f5Cj]
- >>463
グローバル構造体自体は普通に使うよ。 グローバルクラスが普通に使われるように。 C++においては構造体=クラスだからね。 問題は、構造体に使われるpublic変数なんだと思う。 GetXX(),SetXX()にすればいいって問題でもないとは思うけど、もしクラスならメンバ変数は基本的にみんなprivateでしょ?
- 468 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 10:35:01 ID:4io8tQ0w]
- 何言ってるかさっぱりわからん俺のソースは絶対他人には見せられんな。
- 469 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 17:44:21 ID:B8Cz6uqn]
- >>463
461です 俺は今年からプログラミング初めた素人 まだグローバル変数使って困ったことはないけど 勉強しつつゲーム製作やってるから今はポインタ使って試してる 次はクラスってのを使ってみる予定
- 470 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 00:33:01 ID:O6HFVvT0]
- DxLibでaviを再生させる関数ってありますか???
|

|