DXライブラリ 総合スレッド その7
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/10/04(月) 17:24:47ID:zBoueRHuGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
0750名前は開発中のものです。
2011/02/07(月) 22:03:36ID:ao/YIlT90751名前は開発中のものです。
2011/02/07(月) 23:04:20ID:wF/kiWoY0752名前は開発中のものです。
2011/02/07(月) 23:15:47ID:OcsNs/sY0753名前は開発中のものです。
2011/02/07(月) 23:30:15ID:OcsNs/sY0754名前は開発中のものです。
2011/02/08(火) 01:11:11ID:zz8oJ9kr0755名前は開発中のものです。
2011/02/08(火) 16:05:17ID:6L0TPnqD0756名前は開発中のものです。
2011/02/08(火) 17:54:15ID:+ML1FjeC0757名前は開発中のものです。
2011/02/08(火) 20:35:13ID:SsLD3XMz0758名前は開発中のものです。
2011/02/09(水) 02:00:42ID:5lfRH9sH全くイメージが出来ない
0759名前は開発中のものです。
2011/02/09(水) 02:47:15ID:ieGKHoAe0760名前は開発中のものです。
2011/02/09(水) 09:32:08ID:56rbMTpRhttp://www.oreilly.co.jp/books/9784873113395/
0761名前は開発中のものです。
2011/02/09(水) 20:36:21ID:v7oSuKhP0762名前は開発中のものです。
2011/02/09(水) 20:57:36ID:7Rex9UNl0763名前は開発中のものです。
2011/02/09(水) 21:04:48ID:bxVvIYXuドラクエであれやってみたら結構楽しそう
0764名前は開発中のものです。
2011/02/09(水) 21:52:06ID:MQeJ0Td3「HP50%以下でホイミ」と指定されていれば、その通り行動しないとマズいけど、
「いのちだいじに」なら、殺られる前に殺れというのも選択肢に入る懐の広さはあるだろうし。
一応、キャラごとの性格設定や、プレイヤーが勝手に想像する余地というメリットもあるからなあ。
0765名前は開発中のものです。
2011/02/09(水) 23:34:22ID:gbbiuBkv目的とゲーム条件と製作者の好みで決めちゃうところが大きいかと
0766名前は開発中のものです。
2011/02/12(土) 13:12:29ID:nJI+bwQDリフレッシュレートに依存せず、指定したfpsで処理を行う場合のサンプルがあれば、
その場所を教えてほしいです。
dxlib wiki かなにかがないか探したのですが、見つかりませんでした。
同梱のhelpだと、リフレッシュレートにあわせて処理を変えてしまえというものはあったのですが、
fps60固定でやりたいので、使えませんでした。
普通の2DアクションゲームならどのゲームでもやってるFAQ・TIPSだと思いますし、
wikiにも真っ先に掲載されるようなネタですので、
自分の拙いコーディングと調査で時間食うより、サンプルコピペで一瞬で済ませたいです。
実現方法としては、
・flip時に待たない
・自前で待つ:msec単位の現在時刻取得APIを利用し、sleepする(?)
あたりでいけるとは思ってます。
ご存じの方、よろしくお願いします。
0767名前は開発中のものです。
2011/02/12(土) 13:16:58ID:hgni81jL>自分の拙いコーディングと調査で時間食うより、サンプルコピペで一瞬で済ませたいです。
それを自前でやればスキルアップでほかの部分もより良いコーディングができるようになるかと。
最近はPCも液晶ばっかりで大抵リフレッシュレートが60Hzだから垂直同期依存のソフトも多いんじゃないかな。
まぁ、無精せずにじっくりやれって事ですw
0768名前は開発中のものです。
2011/02/12(土) 13:30:22ID:qAUrfDwp時前でレートを作ると、がたつき(ティアリング)がおきるぞ、わかってるのか?
0769名前は開発中のものです。
2011/02/12(土) 16:16:10ID:mJ46d9vv可変FPSの話かと思ったが、どうやら違ったようだ。
0770名前は開発中のものです。
2011/02/12(土) 16:34:22ID:WPIK0NoaSetWaitVSyncFlag()で垂直同期を切れば思い通りになるはず
0771766
2011/02/13(日) 09:42:41ID:KpZXeEQj教えていただいたとおりに実装したところ、思い通りになりました。ありがとうございます!
一番時間かかった問題(sleepでやると2回に1回くらい描画結果がwindowに反映されない)は、
PC再起動でなおりました。
>>767-768
アドバイスありがとうございます。ティアリングは覚悟済みです。
余談ですが、もちろん普通に垂直同期を待つモードもついています。
今回は1関数コピペで済むレベルなので不精しましたが、
そうでない場合はいただいたアドバイスどおりじっくりやりたいと思います。
0772名前は開発中のものです。
2011/02/16(水) 10:32:36ID:kx3d0uWeそのイテレータを使い終わった時に初期化したいです
しかし一体何を入れればいいのかわかりません
別に初期化しないでもバグにならないように設計すればよいのですが
何か気持ち悪くて・・・
0773名前は開発中のものです。
2011/02/16(水) 10:45:00ID:hu/634nmどうしてもってのならNULLを入れとけばいいです
NULL(=0)は絶対にポインタとしてあり得ない数値なんで、it==NULLなら参照しない、って使い方が出来ますにゃ
(当然、NULLが代入されてるイテレータで要素を参照してしまうとアプリは落ちる)
0774名前は開発中のものです。
2011/02/16(水) 20:49:33ID:RSQiCP9S0775名前は開発中のものです。
2011/02/17(木) 12:10:06ID:POOkR4PO3Dモデルのデータにはテクスチャファイルは埋め込めないんでしょうか?
ごちゃごちゃするのでまとめたいんですが…。
それとも最終的にDXアーカイブにすれば(mv1のみ?)でまとめろって話ですかね。
0776名前は開発中のものです。
2011/02/17(木) 18:48:14ID:L+DlSeIR擬似3Dゲームを作ろうと思ってマップや敵を回転させてたらめっちゃ重い
0777名前は開発中のものです。
2011/02/17(木) 18:54:18ID:s7Rh9Whn0778名前は開発中のものです。
2011/02/17(木) 19:06:21ID:L+DlSeIRでもさ、フィールド関数の領域???でロードしたら、次から画像ハンドルが空っぽになってんだよ
0779名前は開発中のものです。
2011/02/17(木) 19:11:41ID:NFDiEQjC0780名前は開発中のものです。
2011/02/17(木) 19:18:03ID:L+DlSeIR0781名前は開発中のものです。
2011/02/17(木) 19:19:56ID:+LcL54Sl0782名前は開発中のものです。
2011/02/17(木) 19:21:09ID:8eHPFNop関数によって、座標指定が左上だったり中央だったりするのが面倒だったので。
>>780
せめて24時間は待てよw
0783名前は開発中のものです。
2011/02/17(木) 19:53:11ID:JfE8kAGm>画像のロードをループのたびにやってる
そんな事やってたら重いのは当たり前だ
>画像ハンドルが空っぽ
明らかなバグ臭、ちゃんととレースしてデバッグしろ
0784名前は開発中のものです。
2011/02/17(木) 19:55:24ID:/kIHAK9a0785名前は開発中のものです。
2011/02/17(木) 20:07:30ID:2T4y7T5P783も言ってるけどまんま原因はそれだよw
ロードは描画の度やるようなもんじゃない
変数の有効範囲をちゃんと管理できるコードか書けない初心者のうちは、
画像ハンドルはグローバルで置いとくべき
そしてゲーム起動時に全部読み込むくらいでいいにゃん
0786名前は開発中のものです。
2011/02/17(木) 20:22:19ID:NFDiEQjC0787名前は開発中のものです。
2011/02/17(木) 21:57:53ID:L+DlSeIRまたできる環境になったら試して見ます
またお世話になるかと思いますがよろしくお願いします
0788名前は開発中のものです。
2011/02/18(金) 01:46:16ID:GOKTeo9s0789名前は開発中のものです。
2011/02/18(金) 14:19:13ID:R8VH2Snc時間をログファイル名につけて保存する設定にしたのはいいんですが実行するたびにファイルが増えるのでひとまとめにできたらいいなと思うんですが
0790名前は開発中のものです。
2011/02/18(金) 14:30:19ID:evmgDxOS0791名前は開発中のものです。
2011/02/18(金) 14:49:54ID:R8VH2Snc0792名前は開発中のものです。
2011/02/18(金) 19:00:32ID:G40bfkWJのとおりにやってたら、そんなバグ仕込むことは少ないと思うんだけどなあ
よくわかんないうちは、
それを改造していく方法でいいじゃん
ほかにもソース公開してる人がいるから、それを改造していってもいいし
0793名前は開発中のものです。
2011/02/18(金) 19:11:39ID:4cFumhE/そりゃ間違いを犯すだろ。改造と並列して原理を学ばないと。
0794名前は開発中のものです。
2011/02/18(金) 21:34:07ID:2/JFNBpt0795名前は開発中のものです。
2011/02/18(金) 21:48:34ID:DL5by/CF0796名前は開発中のものです。
2011/02/19(土) 00:11:11ID:aRLzCjm90797名前は開発中のものです。
2011/02/19(土) 00:12:54ID:aRLzCjm90798名前は開発中のものです。
2011/02/19(土) 00:18:35ID:AyR1BOuA公式でそういうクソみたいな質問させるのやめろよ
0799名前は開発中のものです。
2011/02/19(土) 00:41:55ID:hJx6ylHW分からないことも多いけど。
0800名前は開発中のものです。
2011/02/19(土) 07:24:18ID:wF23eZ210801名前は開発中のものです。
2011/02/19(土) 10:26:58ID:HniCnkbn純粋にC++の勉強としては、ゲーム以外のプログラムとかゲームエンジンのソースとか読んだ方がいい気がする
0802名前は開発中のものです。
2011/02/19(土) 11:12:29ID:q8myv8eWリメイク版ドラクエ4で「めいれいさせろ」が追加された頃から察してくれ…
0803名前は開発中のものです。
2011/02/19(土) 13:02:18ID:/MJ/MkF7じゃあ、お前が答えてやれよ
0804名前は開発中のものです。
2011/02/21(月) 15:53:01.31ID:H/f3jJzW案の定遅くなったんだけどやっぱ無謀だったんですか?
関数呼び出すだけで時間かかるから1点1点描いてくのはダメなのかな?
1ドットにつき数回三角関数や逆三角関数を使ったのもあるかもしれないけど
ドット打つところを2*2の四角形に変えたら少しはマシになったのでやっぱ描画関数の呼び出し回数の問題っぽい。
何が言いたいかと言うと、
char gamen[???][???][4]; //縦×横×三色と濃度
みたいな配列みたいなのを用意してこれを渡せば一括で描画してくれるなんて関数があればいいなぁってね。
画像のデータ構造の中身なんてわかんないけど似たような事やってるんじゃないのかな?
0805名前は開発中のものです。
2011/02/21(月) 16:40:26.86ID:9GgWz1ID言ってることはこれそのままっぽいし
0806名前は開発中のものです。
2011/02/21(月) 16:52:59.96ID:h9QhWIFW片方ずつ実行して時間計れば、処理速度くらいわかるでしょ。
結論から言うと画像を作ってから、一回で描画すればおk。
0807名前は開発中のものです。
2011/02/21(月) 17:01:58.37ID:H/f3jJzW都合良く、アルファ濃度にも対応してるのあるのね。まさにピッタリ。
DrawSoftImageの説明に重いとは書いてあるけどDrawPixel毎回呼び出すよりはマシなのかな。
今度比べて試してみます。ありがとうございました。
0808名前は開発中のものです。
2011/02/21(月) 17:07:06.38ID:MMcVeH9B描画モードの変更関数は結構重いよ
どのくらい重いかというと毎フレーム3000回呼んでたら60fps維持できないくらい
0809名前は開発中のものです。
2011/02/21(月) 17:12:14.93ID:H/f3jJzWドット毎にあのパラメータを変更するためにSetDrawBlendMode呼んでたから、なるほど。
ますますソフトイメージの方が良いみたいだね。
重ね重ねありがとう。
0810名前は開発中のものです。
2011/02/21(月) 21:14:42.39ID:xa3qwwu70811名前は開発中のものです。
2011/02/21(月) 21:37:06.89ID:MMcVeH9Bサブサーフェスみたいなのがやりたいのか、それともお絵かきツールみたいなのを実装しようとしてるのか……
0812名前は開発中のものです。
2011/02/22(火) 01:34:18.44ID:M0x+7GIlとんでもなく速くなるよ
0813804
2011/02/22(火) 05:37:38.23ID:fi/o64E4t:時間
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;
これは適当だけどこんな感じの計算をしてキャラの周りを波模様の筒状のオーラが囲むような
演出を作りたかったんだよね一瞬だけど。
だからそこまで必須じゃなかったり。いやドットでやるのは馬鹿げてるってわかってはいたんだけどね。
0814名前は開発中のものです。
2011/02/22(火) 12:21:32.47ID:8kTZW2q70815名前は開発中のものです。
2011/02/22(火) 12:36:39.49ID:2hGlEXNN0816名前は開発中のものです。
2011/02/23(水) 02:06:02.89ID:UA4c++Ac現在RPGを製作中で、自分でスクリプトを組んでやってるんですが
若干レスポンスが遅いです
これが改善されるならLua導入も検討しようと思うのですが
0817名前は開発中のものです。
2011/02/23(水) 02:09:38.48ID:6JL+nAie0818名前は開発中のものです。
2011/02/23(水) 02:19:07.06ID:+qfQHx1D軽量設計した簡易スクリプトがluaより遅いって事はまずない
もしも毎回読み込んで構文解析して実行してるならそこで遅くなる
起動時にスクリプトを構文解析して、実行用の中間コードを保持しておくとか工夫してみたら?
luaの長所はスクリプト内でとてつもなく複雑なことをしても動作することがある程度補償されてる点
0819名前は開発中のものです。
2011/02/23(水) 04:24:07.24ID:Gd9oN5TQ記述が簡単なDXライブラリに記述が簡単なスクリプト言語を追加してどうすんの
動的リロードとかは魅力だけどデバッグが更に面倒になるし
0820名前は開発中のものです。
2011/02/23(水) 05:23:52.62ID:2fkZgoQ80821名前は開発中のものです。
2011/02/23(水) 05:24:24.01ID:+qfQHx1D人形劇みたいなイベント有りのRPG作るならスクリプトみたいな仕組みはないと困るんでない?
0822名前は開発中のものです。
2011/02/23(水) 13:24:26.50ID:KDGE0euW0823名前は開発中のものです。
2011/02/23(水) 20:20:54.51ID:slm3+WaE0824名前は開発中のものです。
2011/02/26(土) 00:34:35.38ID:llK7EsErと思ったことはある
0825名前は開発中のものです。
2011/02/26(土) 00:39:08.09ID:/pRzzwPn0826名前は開発中のものです。
2011/02/26(土) 00:52:29.00ID:DM00gsqn0827名前は開発中のものです。
2011/02/26(土) 08:56:00.23ID:eTqHkKj40828名前は開発中のものです。
2011/02/26(土) 11:25:41.87ID:enInS/6/0829名前は開発中のものです。
2011/02/26(土) 11:34:41.26ID:i8Eo6Mya一体何と戦ってるの?
0830名前は開発中のものです。
2011/02/26(土) 12:31:16.83ID:llK7EsEr・DXライブラリを使ったゲーム開発において、
組み込みスクリプト言語を導入することでのメリットとは何か
・DXライブラリ+組み込みスクリプト言語 を用いたゲーム開発において、
ほかの組み込みスクリプト言語に比べてのluaの優位性とは
で回答は変わるわな
0831名前は開発中のものです。
2011/02/26(土) 12:45:40.80ID:DM00gsqn組み込みスクリプト使うような規模の作品になれば、描画をフレームワーク化するのは当然になるし、
有用な組み合わせとしては「DXライブラリ+スクリプト」というよりは「自作フレームワーク+スクリプト」って感じになって、
DXライブラリを使うかどうかって所はあまり関係しない気がする
0832名前は開発中のものです。
2011/02/26(土) 13:35:39.83ID:eTqHkKj4何か他のものとは違う特別なメリットが得られると思った次第。
言葉足らずでごめん。
別にそういうのは無い感じなのかな?
0833名前は開発中のものです。
2011/02/26(土) 13:38:49.16ID:enInS/6/Luaじゃなしに組み込みスクリプト言語ならそんなに変わらん
速度面・普及面じゃLua一択だが
0834名前は開発中のものです。
2011/02/26(土) 15:04:09.36ID:8F4iVscQこの辺の情報ってあんまり出ないよね。
0835名前は開発中のものです。
2011/02/26(土) 15:26:33.72ID:/pRzzwPn0836名前は開発中のものです。
2011/02/26(土) 17:22:25.72ID:E0NawrDDどっかの誰かが作ったほとんど使われてないスクリプ言語はそういったトライアンドエラーを他の環境で活かせる度合いが小さい
・・・程度の差はあるね
まあ損しないことばかり考えてると何も作れないんだがなw
0837名前は開発中のものです。
2011/02/26(土) 20:31:19.79ID:0j1IiD9M0838名前は開発中のものです。
2011/02/26(土) 21:07:57.84ID:HzAF130I0839名前は開発中のものです。
2011/02/27(日) 09:19:22.82ID:OH7ge9JjまぁこれもDXライブラリに限らない話だからスレチかな
0840名前は開発中のものです。
2011/02/27(日) 09:35:38.18ID:tW/E8A8Bそれなりの規模なゲームを作ろうとしたら自前実装だらけになる
0841名前は開発中のものです。
2011/02/27(日) 09:46:08.08ID:0L5aKjyl作業全体の中では少ないから結局自分でやっても変わらん
0842名前は開発中のものです。
2011/02/27(日) 10:13:30.78ID:TzpLKbBTいや、割と結構な部分省けるべさ
レンダリングフレームワークを作る手間がまるまる消えるんだし
0843名前は開発中のものです。
2011/02/27(日) 13:46:42.55ID:9Fl/vGOBDirectXの余計なことに頭を使わなくてすむ。
クラス設計とかだけを考えれば良いからすごい楽になる。
ってか楽になった。
俺はもうDeviceLostと格闘するのは嫌だわ・・・
0844名前は開発中のものです。
2011/02/27(日) 15:10:27.18ID:aZ0j/EARベースの部分を、DXライブラリとそうでないものとで切り替えられると良いんだろうけどな。
0845名前は開発中のものです。
2011/03/02(水) 00:54:47.81ID:u6ffonYsそれぞれメリットデメリットってあるの?
細かさは
バイト>サンプル>ミリ秒
なのはいいとして、やっぱバイト単位とかのほうがミリ秒と違って再生環境によるズレが無いのかな?
バイトってなんかこうファイルを直接見てる感じがするからそんな気がするのよ。
もしそうじゃなくて「ミリ秒でずれるときはバイトでもずれる」とかなら俺的には
バイトのメリットが無いからもうミリ秒でいいやって話になるわけよ。
どうせ10ミリ秒ぐらいの違いじゃあわかんないし俺。
というか
ttp://izuministrator.com/ref/
によると
SetLoopPosSoundMem
でバイトでの指定ができるはずなんだけど、なぜかミリ秒指定と同じ動きになっちゃってるから
バイト指定できなくて困ってるのよね。
長文スマソ
0846名前は開発中のものです。
2011/03/02(水) 21:23:00.01ID:J7GxD6/6ミリ秒でもズレないからミリ秒でやったほうがいいと思うよ
コード見たわけじゃないけど、多分内部では計算して単位揃えて同じ動作で動いてると思うし
バイトやサンプル数だと、周波数とか変えたとき変更しなきゃなるし、メリットは殆ど無いって言っていい
0847名前は開発中のものです。
2011/03/02(水) 23:38:04.82ID:EReXQxMMしかしまぁ公式リファレンスは
int GetCurrentPositionSoundMem( int SoundHandle ) ;
の項目で
int SetCurrentPositionSoundMem( int SamplePosition, int SoundHandle ) ;
のと同じ説明書いてるし信用できないな。
とりあえず名前が違うのに同じ挙動の関数がある時点で、
どちらかはバイトのほうを実装しようとして間違えたんだと思うけど。
0848名前は開発中のものです。
2011/03/02(水) 23:57:52.31ID:qyJBDqiQソースみたところ、SetLoopTimePosSoundMemとSetLoopPosSoundMemの実装が同じコードになってる。多分バグじゃないかな。
メリットデメリットの話で言うなら、それぞれの関数は内部でSetLoopSamplePosSoundMemの実装を呼び出してるだけなので全く同じなはず。
0849名前は開発中のものです。
2011/03/03(木) 16:24:34.69ID:Zh6pP09G片方が他方のラッパーなんだろうな〜と思ってソースを眺めてみると、実は違う場合があったりするよな…。
0850名前は開発中のものです。
2011/03/03(木) 17:31:53.66ID:EV+fS59Gそういうのは公式に質問したほうがいんじゃないかな
なんらかのリアクションあるだろうし
■ このスレッドは過去ログ倉庫に格納されています