1 名前:名前は開発中のものです。 mailto:sage [2010/10/04(月) 17:24:47 ID:zBoueRHu] Cを習得した程度のスキルでも、 GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【過去スレ】 DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/ DXライブラリ 総合スレッド 2008 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ DXライブラリ 総合スレッド その3 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ DXライブラリ 総合スレッド その4 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ DXライブラリ 総合スレッド その5 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ DXライブラリ 総合スレッド その6 hibari.2ch.net/test/read.cgi/gamedev/1267108154/
763 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 21:04:48 ID:bxVvIYXu] FF13だっけ?味方の戦闘AIの設定いじって戦うやつ ドラクエであれやってみたら結構楽しそう
764 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 21:52:06 ID:MQeJ0Td3] どうだろうな。 「HP50%以下でホイミ」と指定されていれば、その通り行動しないとマズいけど、 「いのちだいじに」なら、殺られる前に殺れというのも選択肢に入る懐の広さはあるだろうし。 一応、キャラごとの性格設定や、プレイヤーが勝手に想像する余地というメリットもあるからなあ。
765 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 23:34:22 ID:gbbiuBkv] 今現在で実用的な意味でのAI というと特定の条件下での話になっちゃうからね 目的とゲーム条件と製作者の好みで決めちゃうところが大きいかと
766 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 13:12:29 ID:nJI+bwQD] ぐぐっても見つからなかったので質問です。 リフレッシュレートに依存せず、指定したfpsで処理を行う場合のサンプルがあれば、 その場所を教えてほしいです。 dxlib wiki かなにかがないか探したのですが、見つかりませんでした。 同梱のhelpだと、リフレッシュレートにあわせて処理を変えてしまえというものはあったのですが、 fps60固定でやりたいので、使えませんでした。 普通の2DアクションゲームならどのゲームでもやってるFAQ・TIPSだと思いますし、 wikiにも真っ先に掲載されるようなネタですので、 自分の拙いコーディングと調査で時間食うより、サンプルコピペで一瞬で済ませたいです。 実現方法としては、 ・flip時に待たない ・自前で待つ:msec単位の現在時刻取得APIを利用し、sleepする(?) あたりでいけるとは思ってます。 ご存じの方、よろしくお願いします。
767 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 13:16:58 ID:hgni81jL] >>766 >自分の拙いコーディングと調査で時間食うより、サンプルコピペで一瞬で済ませたいです。 それを自前でやればスキルアップでほかの部分もより良いコーディングができるようになるかと。 最近はPCも液晶ばっかりで大抵リフレッシュレートが60Hzだから垂直同期依存のソフトも多いんじゃないかな。 まぁ、無精せずにじっくりやれって事ですw
768 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 13:30:22 ID:qAUrfDwp] >>766 時前でレートを作ると、がたつき(ティアリング)がおきるぞ、わかってるのか?
769 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 16:16:10 ID:mJ46d9vv] リフレッシュレートに依存しないって言うから、 可変FPSの話かと思ったが、どうやら違ったようだ。
770 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 16:34:22 ID:WPIK0Noa] 龍神録プログラミングの館の43章、「きっちりFPSを制御してみよう」に解説がある SetWaitVSyncFlag()で垂直同期を切れば思い通りになるはず
771 名前:766 mailto:sage [2011/02/13(日) 09:42:41 ID:KpZXeEQj] >>770 教えていただいたとおりに実装したところ、思い通りになりました。ありがとうございます! 一番時間かかった問題(sleepでやると2回に1回くらい描画結果がwindowに反映されない)は、 PC再起動でなおりました。 >>767-768 アドバイスありがとうございます。ティアリングは覚悟済みです。 余談ですが、もちろん普通に垂直同期を待つモードもついています。 今回は1関数コピペで済むレベルなので不精しましたが、 そうでない場合はいただいたアドバイスどおりじっくりやりたいと思います。
772 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 10:32:36 ID:kx3d0uWe] listのイテレータをstaticで持っておきたいのですが そのイテレータを使い終わった時に初期化したいです しかし一体何を入れればいいのかわかりません 別に初期化しないでもバグにならないように設計すればよいのですが 何か気持ち悪くて・・・
773 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 10:45:00 ID:hu/634nm] 初期化しないで使い、毎回使うときに初期化するのが基本だけど、 どうしてもってのならNULLを入れとけばいいです NULL(=0)は絶対にポインタとしてあり得ない数値なんで、it==NULLなら参照しない、って使い方が出来ますにゃ (当然、NULLが代入されてるイテレータで要素を参照してしまうとアプリは落ちる)
774 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 20:49:33 ID:RSQiCP9S] イテレータstaticでもつって何に使うの
775 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 12:10:06 ID:POOkR4PO] 当たり前すぎるのか検索しても引っかからないのですが、 3Dモデルのデータにはテクスチャファイルは埋め込めないんでしょうか? ごちゃごちゃするのでまとめたいんですが…。 それとも最終的にDXアーカイブにすれば(mv1のみ?)でまとめろって話ですかね。
776 名前:名前は開発中のものです。 [2011/02/17(木) 18:48:14 ID:L+DlSeIR] DrawRotaGraphってめっちゃ重かったりする? 擬似3Dゲームを作ろうと思ってマップや敵を回転させてたらめっちゃ重い
777 名前:名前は開発中のものです。 [2011/02/17(木) 18:54:18 ID:s7Rh9Whn] 原因はお前のクソコード
778 名前:名前は開発中のものです。 [2011/02/17(木) 19:06:21 ID:L+DlSeIR] ひょっとして、画像のロードをループのたびにやってるのがいけないのか? でもさ、フィールド関数の領域???でロードしたら、次から画像ハンドルが空っぽになってんだよ
779 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 19:11:41 ID:NFDiEQjC] 寿命が尽きたんだ。諦めろ。
780 名前:名前は開発中のものです。 [2011/02/17(木) 19:18:03 ID:L+DlSeIR] おかしいな、このスレ誰もいないのかな
781 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 19:19:56 ID:+LcL54Sl] 誰もいませんよ
782 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 19:21:09 ID:8eHPFNop] むしろ自分はDrawRotaGraphで統一してる。 関数によって、座標指定が左上だったり中央だったりするのが面倒だったので。 >>780 せめて24時間は待てよw
783 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 19:53:11 ID:JfE8kAGm] >>778 >画像のロードをループのたびにやってる そんな事やってたら重いのは当たり前だ >画像ハンドルが空っぽ 明らかなバグ臭、ちゃんととレースしてデバッグしろ
784 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 19:55:24 ID:/kIHAK9a] ローカル変数に代入してるんじゃね?staticもなしに
785 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 20:07:30 ID:2T4y7T5P] >>778 783も言ってるけどまんま原因はそれだよw ロードは描画の度やるようなもんじゃない 変数の有効範囲をちゃんと管理できるコードか書けない初心者のうちは、 画像ハンドルはグローバルで置いとくべき そしてゲーム起動時に全部読み込むくらいでいいにゃん
786 名前:名前は開発中のものです。 mailto:sage [2011/02/17(木) 20:22:19 ID:NFDiEQjC] そしてグローバル変数の初期化にLoadGraph使ってまた発狂
787 名前:名前は開発中のものです。 [2011/02/17(木) 21:57:53 ID:L+DlSeIR] ありがとうございます またできる環境になったら試して見ます またお世話になるかと思いますがよろしくお願いします
788 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 01:46:16 ID:GOKTeo9s] またお世話になる前にC言語勉強して公式をよく読め
789 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 14:19:13 ID:R8VH2Snc] ログファイルの出力フォルダの設定ってどうやったらできますか? 時間をログファイル名につけて保存する設定にしたのはいいんですが実行するたびにファイルが増えるのでひとまとめにできたらいいなと思うんですが
790 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 14:30:19 ID:evmgDxOS] そう言うのは公式で聞いたほうが早い
791 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 14:49:54 ID:R8VH2Snc] ありがとうございます。そうしてみます
792 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 19:00:32 ID:G40bfkWJ] DXライブラリ ゲームプログラム講座 のとおりにやってたら、そんなバグ仕込むことは少ないと思うんだけどなあ よくわかんないうちは、 それを改造していく方法でいいじゃん ほかにもソース公開してる人がいるから、それを改造していってもいいし
793 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 19:11:39 ID:4cFumhE/] 特に変数のスコープを解説されてない講座に従えば、 そりゃ間違いを犯すだろ。改造と並列して原理を学ばないと。
794 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 21:34:07 ID:2/JFNBpt] ポインタにNULLを入れて何回でもdeleteしてやる
795 名前:名前は開発中のものです。 mailto:sage [2011/02/18(金) 21:48:34 ID:DL5by/CF] 君がッ! 泣くまでッ! deleteを止めないッ!
796 名前:名前は開発中のものです。 [2011/02/19(土) 00:11:11 ID:aRLzCjm9] DXライブラリってDirectGraphic使ってるの?
797 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 00:12:54 ID:aRLzCjm9] サーセン
798 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 00:18:35 ID:AyR1BOuA] >>790 公式でそういうクソみたいな質問させるのやめろよ
799 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 00:41:55 ID:hJx6ylHW] 軽くソースをあたってみると、公式や2chで質問するより早く分かったりする。 分からないことも多いけど。
800 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 07:24:18 ID:wF23eZ21] ミスのない、凝ったことをやってない、そういうレベルのソースに出会えるといいね。
801 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 10:26:58 ID:HniCnkbn] ゲームのソースって人それぞれオリジナリティに溢れてて読みづらいんだよね 純粋にC++の勉強としては、ゲーム以外のプログラムとかゲームエンジンのソースとか読んだ方がいい気がする
802 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 11:12:29 ID:q8myv8eW] >>763 リメイク版ドラクエ4で「めいれいさせろ」が追加された頃から察してくれ…
803 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 13:02:18 ID:/MJ/MkF7] >>798 じゃあ、お前が答えてやれよ
804 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 15:53:01.31 ID:H/f3jJzW] 縦横座標から濃度と色を計算して1点ずつ描画モードを切り替えて点を打つっていう処理をやったら 案の定遅くなったんだけどやっぱ無謀だったんですか? 関数呼び出すだけで時間かかるから1点1点描いてくのはダメなのかな? 1ドットにつき数回三角関数や逆三角関数を使ったのもあるかもしれないけど ドット打つところを2*2の四角形に変えたら少しはマシになったのでやっぱ描画関数の呼び出し回数の問題っぽい。 何が言いたいかと言うと、 char gamen[???][???][4]; //縦×横×三色と濃度 みたいな配列みたいなのを用意してこれを渡せば一括で描画してくれるなんて関数があればいいなぁってね。 画像のデータ構造の中身なんてわかんないけど似たような事やってるんじゃないのかな?
805 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 16:40:26.86 ID:9GgWz1ID] ソフトイメージとDrawSoftImageでいんじゃね? 言ってることはこれそのままっぽいし
806 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 16:52:59.96 ID:h9QhWIFW] >>804 片方ずつ実行して時間計れば、処理速度くらいわかるでしょ。 結論から言うと画像を作ってから、一回で描画すればおk。
807 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 17:01:58.37 ID:H/f3jJzW] あーん、あったねぇ……うん、ごめんね。 都合良く、アルファ濃度にも対応してるのあるのね。まさにピッタリ。 DrawSoftImageの説明に重いとは書いてあるけどDrawPixel毎回呼び出すよりはマシなのかな。 今度比べて試してみます。ありがとうございました。
808 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 17:07:06.38 ID:MMcVeH9B] なんか解決したみたいだけど一応書いとく 描画モードの変更関数は結構重いよ どのくらい重いかというと毎フレーム3000回呼んでたら60fps維持できないくらい
809 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 17:12:14.93 ID:H/f3jJzW] あーそうなんだ。 ドット毎にあのパラメータを変更するためにSetDrawBlendMode呼んでたから、なるほど。 ますますソフトイメージの方が良いみたいだね。 重ね重ねありがとう。
810 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 21:14:42.39 ID:xa3qwwu7] ソフトイメージもクソ重いけどな・・・
811 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 21:37:06.89 ID:MMcVeH9B] 804がどんなことをやりたいと思ってるのかが気になる サブサーフェスみたいなのがやりたいのか、それともお絵かきツールみたいなのを実装しようとしてるのか……
812 名前:名前は開発中のものです。 mailto:sage [2011/02/22(火) 01:34:18.44 ID:M0x+7GIl] ピクセルシェーダ向きだな とんでもなく速くなるよ
813 名前:804 mailto:sage [2011/02/22(火) 05:37:38.23 ID:fi/o64E4] >>811 t:時間 x:キャラの中心線からの相対横座標 y:キャラの下端からの相対縦座標 xmax:模様の横幅/2 ymax:模様の縦幅 red[i][j]=255*sin(0.05*t*t+sin(acos(x/xmax)/16+0.1*t)); alpha[i][j]=255*y/ymax*x*x/xmax/xmax; これは適当だけどこんな感じの計算をしてキャラの周りを波模様の筒状のオーラが囲むような 演出を作りたかったんだよね一瞬だけど。 だからそこまで必須じゃなかったり。いやドットでやるのは馬鹿げてるってわかってはいたんだけどね。
814 名前:名前は開発中のものです。 mailto:sage [2011/02/22(火) 12:21:32.47 ID:8kTZW2q7] 波長や振幅が固定で良いなら画像なんだろうけどなあ
815 名前:名前は開発中のものです。 mailto:sage [2011/02/22(火) 12:36:39.49 ID:2hGlEXNN] それだと、やっぱりシェーダか2Dポリゴンかなぁ
816 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 02:06:02.89 ID:UA4c++Ac] C++にLuaを組み込むメリットは処理の速さですか? 現在RPGを製作中で、自分でスクリプトを組んでやってるんですが 若干レスポンスが遅いです これが改善されるならLua導入も検討しようと思うのですが
817 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 02:09:38.48 ID:6JL+nAie] スレチ
818 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 02:19:07.06 ID:+qfQHx1D] >>816 軽量設計した簡易スクリプトがluaより遅いって事はまずない もしも毎回読み込んで構文解析して実行してるならそこで遅くなる 起動時にスクリプトを構文解析して、実行用の中間コードを保持しておくとか工夫してみたら? luaの長所はスクリプト内でとてつもなく複雑なことをしても動作することがある程度補償されてる点
819 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 04:24:07.24 ID:Gd9oN5TQ] DXライブラリレベルならスクリプト要らないと思うけどな 記述が簡単なDXライブラリに記述が簡単なスクリプト言語を追加してどうすんの 動的リロードとかは魅力だけどデバッグが更に面倒になるし
820 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 05:23:52.62 ID:2fkZgoQ8] Luaというか組み込みスクリプト言語のメリットは動的リロードとコルーチンだろ・・・
821 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 05:24:24.01 ID:+qfQHx1D] スクリプトには再コンパイルなしでイベント追加ができるなどの強みはあるよ 人形劇みたいなイベント有りのRPG作るならスクリプトみたいな仕組みはないと困るんでない?
822 名前:名前は開発中のものです。 mailto:sage [2011/02/23(水) 13:24:26.50 ID:KDGE0euW] 結局のところ、複数で担当するかどうかというのも大きいよな。
823 名前:名前は開発中のものです。 [2011/02/23(水) 20:20:54.51 ID:slm3+WaE] 2DRPG程度で重くなってる方がやばいな
824 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 00:34:35.38 ID:llK7EsEr] DXライブラリにluaが合わさったら最強に見えるかも、 と思ったことはある
825 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 00:39:08.09 ID:/pRzzwPn] luaにポーティングとかもう誰かやってんじゃないの?
826 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 00:52:29.00 ID:DM00gsqn] 「lua DXライブラリ」でググるといくつか挑戦したのが見つかるね
827 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 08:56:00.23 ID:eTqHkKj4] Lua+DXライブラリって何かいい事あるの?
828 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 11:25:41.87 ID:enInS/6/] なんで良い事ないと思うの?
829 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 11:34:41.26 ID:i8Eo6Mya] 単純に疑問かもしれないのに 一体何と戦ってるの?
830 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 12:31:16.83 ID:llK7EsEr] 質問の意図次第かな ・DXライブラリを使ったゲーム開発において、 組み込みスクリプト言語を導入することでのメリットとは何か ・DXライブラリ+組み込みスクリプト言語 を用いたゲーム開発において、 ほかの組み込みスクリプト言語に比べてのluaの優位性とは で回答は変わるわな
831 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 12:45:40.80 ID:DM00gsqn] DXライブラリは基本的には描画がメインだからなぁ 組み込みスクリプト使うような規模の作品になれば、描画をフレームワーク化するのは当然になるし、 有用な組み合わせとしては「DXライブラリ+スクリプト」というよりは「自作フレームワーク+スクリプト」って感じになって、 DXライブラリを使うかどうかって所はあまり関係しない気がする
832 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 13:35:39.83 ID:eTqHkKj4] いや、DXライブラリとLuaを組み合わせたら最強とかあったから、 何か他のものとは違う特別なメリットが得られると思った次第。 言葉足らずでごめん。 別にそういうのは無い感じなのかな?
833 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 13:38:49.16 ID:enInS/6/] 単に開発が楽ってだけだろ Luaじゃなしに組み込みスクリプト言語ならそんなに変わらん 速度面・普及面じゃLua一択だが
834 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 15:04:09.36 ID:8F4iVscQ] DXライブラリで開発してる人は、大なり小なりフレームワーク的なものを組んでるような気がする。 この辺の情報ってあんまり出ないよね。
835 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 15:26:33.72 ID:/pRzzwPn] 単に、Tonyu systemみたいな環境を自分で作れたら夢が広がりんぐ 程度の意味だと思うよ
836 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 17:22:25.72 ID:E0NawrDD] Luaの場合は構文やクセの把握をしておけばまたどこかで役に立つ可能性があるくらいには普及してる どっかの誰かが作ったほとんど使われてないスクリプ言語はそういったトライアンドエラーを他の環境で活かせる度合いが小さい ・・・程度の差はあるね まあ損しないことばかり考えてると何も作れないんだがなw
837 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 20:31:19.79 ID:0j1IiD9M] DxLibはゲームライブラリって感じじゃないからなぁ
838 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 21:07:57.84 ID:HzAF130I] そろそろスレチ
839 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:19:22.82 ID:OH7ge9Jj] DXライブラリとフレームワークについては興味あるなあ まぁこれもDXライブラリに限らない話だからスレチかな
840 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:35:38.18 ID:tW/E8A8B] 良くも悪くもラッパーライブラリだしな、フレームワーク必須に近い それなりの規模なゲームを作ろうとしたら自前実装だらけになる
841 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:46:08.08 ID:0L5aKjyl] ゲームフレームワーク作るなら、DXライブラリで楽できる分なんて 作業全体の中では少ないから結局自分でやっても変わらん
842 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 10:13:30.78 ID:TzpLKbBT] >>841 いや、割と結構な部分省けるべさ レンダリングフレームワークを作る手間がまるまる消えるんだし
843 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 13:46:42.55 ID:9Fl/vGOB] DXライブラリの上に自前フレームワークを作るのなら DirectXの余計なことに頭を使わなくてすむ。 クラス設計とかだけを考えれば良いからすごい楽になる。 ってか楽になった。 俺はもうDeviceLostと格闘するのは嫌だわ・・・
844 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 15:10:27.18 ID:aZ0j/EAR] >フレームワーク ベースの部分を、DXライブラリとそうでないものとで切り替えられると良いんだろうけどな。
845 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 00:54:47.81 ID:u6ffonYs] BGMのループポイントの話だけど、ループポイントの設定の仕方がミリ秒とサンプルとバイトの3つあるけど、 それぞれメリットデメリットってあるの? 細かさは バイト>サンプル>ミリ秒 なのはいいとして、やっぱバイト単位とかのほうがミリ秒と違って再生環境によるズレが無いのかな? バイトってなんかこうファイルを直接見てる感じがするからそんな気がするのよ。 もしそうじゃなくて「ミリ秒でずれるときはバイトでもずれる」とかなら俺的には バイトのメリットが無いからもうミリ秒でいいやって話になるわけよ。 どうせ10ミリ秒ぐらいの違いじゃあわかんないし俺。 というか ttp://izuministrator.com/ref/ によると SetLoopPosSoundMem でバイトでの指定ができるはずなんだけど、なぜかミリ秒指定と同じ動きになっちゃってるから バイト指定できなくて困ってるのよね。 長文スマソ
846 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 21:23:00.01 ID:J7GxD6/6] 公式のリファレンスでは、現在SetLoopPosSoundMemはミリ秒指定用の関数になってるね ミリ秒でもズレないからミリ秒でやったほうがいいと思うよ コード見たわけじゃないけど、多分内部では計算して単位揃えて同じ動作で動いてると思うし バイトやサンプル数だと、周波数とか変えたとき変更しなきゃなるし、メリットは殆ど無いって言っていい
847 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 23:38:04.82 ID:EReXQxMM] なるほどありがとう。 しかしまぁ公式リファレンスは int GetCurrentPositionSoundMem( int SoundHandle ) ; の項目で int SetCurrentPositionSoundMem( int SamplePosition, int SoundHandle ) ; のと同じ説明書いてるし信用できないな。 とりあえず名前が違うのに同じ挙動の関数がある時点で、 どちらかはバイトのほうを実装しようとして間違えたんだと思うけど。
848 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 23:57:52.31 ID:qyJBDqiQ] バイト指定なんてしても変なずれ方するだけだし最小単位はサンプルでいいと思うけどそれは置いといて ソースみたところ、SetLoopTimePosSoundMemとSetLoopPosSoundMemの実装が同じコードになってる。多分バグじゃないかな。 メリットデメリットの話で言うなら、それぞれの関数は内部でSetLoopSamplePosSoundMemの実装を呼び出してるだけなので全く同じなはず。
849 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 16:24:34.69 ID:Zh6pP09G] 同じような内容で、引数が違う関数の場合、 片方が他方のラッパーなんだろうな〜と思ってソースを眺めてみると、実は違う場合があったりするよな…。
850 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 17:31:53.66 ID:EV+fS59G] そこら辺揺れるのが非公式関数だからなー そういうのは公式に質問したほうがいんじゃないかな なんらかのリアクションあるだろうし
851 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:36:34.77 ID:9izXx4AI] DXライブラリでも、ちゃんと作れば状態遷移を行って帰ってきても1バイトたりとも増えないの? メニュー画面からゲーム画面に行って帰ってくるとメモリ使用量が増えてるんだけど。 ちゃんと各画面において終わる時にInitGraphとInitSoundMem呼んでるしのに。 ファイル読み込み関連はLoadGraphとLoadDivGraphとLoadSoundMemしか使ってないからこれで大丈夫のはずなんだが。 fopenも使ったけどちゃんとfcloseしてるし。mallocの類は全く使ってない。
852 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:45:58.98 ID:SaQE7YU5] メモリ使用量って何を見て言ってるの? タスクマネージャなんだったら、ウィンドウを一時的に最小化してみたらいいよ タスクマネージャの数字を減らすのは、自称詳しいユーザーを安心させる程度の意味しかない
853 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:55:06.60 ID:9izXx4AI] 最小化すると正しい値が出るの? やってみたけどやっぱ上がったものは上がったままだなぁ。
854 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:03:00.90 ID:UieYMyVE] ループを進めて時間が経ったらメモリ増えなくなるかも知れない。 ある程度のメモリは即開放されずに内部に留められたりするものらしい
855 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:32:31.47 ID:qrLZpjId] 読み込んだファイルはOSが一時的にキャッシュ保存しているよ。
856 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:35:35.10 ID:9izXx4AI] じゃ、じゃあやっぱ気にしなくていいってことかな……うん。
857 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:37:05.63 ID:zB1jyOJI] 状態遷移のたびに際限なく増えてるならメモリリークの可能性大 あともしVista以降だったらタスクマネージャにデフォルトで表示されてるプライベートワーキングセットには DLL側のメモリの使用量は含まれてないよ
858 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:59:37.80 ID:9izXx4AI] えー……じゃあやっぱ原因探さないとな。ありがとう。
859 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:05:04.17 ID:ZZu9fnGE] >>858 何処を見て判断しているか説明しないと、色々出るだけだろ。何処見てるんだよ!
860 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:08:06.20 ID:Gm+qWo11] いや、タスクマネージャ……
861 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:25:23.10 ID:phAV7U6c] とりあえずゲームループに入って100秒くらい経ってもまだメモリ増えるならアウト
862 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:01:17.80 ID:Gm+qWo11] や、やっぱり法則がわからない。 何事も、初めのうちは増えるんだよね。 例えば効果音で、初めのうちは鳴る度にメモリ増えるんだけど、 何度も鳴ってると増えなくなる。 画像の読み込み+表示でもそうみたい。
863 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:06:04.38 ID:Gm+qWo11] また肝心な事言い忘れた。 そういうことだから、やっぱループし初めは初めて尽くしだからポンポン増えてくけど、 落ち着けば変わったことが起こらない限り増えない。