トップページgamedev
990コメント278KB

DXライブラリ 総合スレッド その6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/02/25(木) 23:29:14ID:hEXp+gEa
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「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/
0409名前は開発中のものです。2010/04/21(水) 21:26:58ID:/AyH3iAk
>>408
それにしても細かすぎるだろw
0410名前は開発中のものです。2010/04/21(水) 21:30:42ID:s7QtLsho
キーの状態の取得なんかカスみたいなもんだからどうでもいいよ
実際にゲームとして動く段階になってそんなところがボトルネックになるなんてありえない
0411名前は開発中のものです。2010/04/21(水) 22:17:42ID:wiN6CFFY
そんなこと気にするならキーが押されてる間、
カーソルの移動する処理と一緒にウェイトいれとけば
0412名前は開発中のものです。2010/04/21(水) 22:35:41ID:kGuIac0T
>>407
人間だって直前の状態から変化がなければ何もせず、
エロいことが発生すれば勃起するという判定を無意識に毎フレーム行っているが大した負荷ではない
0413名前は開発中のものです。2010/04/21(水) 23:22:40ID:xUaQ+lSX
直前のキーの状態の保存の処理程度でCPU資源気にするようじゃあゲーム自体作れないw
0414名前は開発中のものです。2010/04/21(水) 23:52:50ID:twCGRzk7
なんでC#用の奴は
dllファイルやcsファイルでも元の関数名のままなのに
C#で使う場合にDX.を頭に付けなきゃ使えないんだろう?
どこでこういうことが決められてるんだろう?
弄って直せないレベル?
0415名前は開発中のものです。2010/04/22(木) 03:54:35ID:ZtVLfcJh
若いころはアイデアがわくが 技術がたらない
年取ると 技術があるが 作りたいゲームのねたがわかない
(トシ トッターナ フランス画家)
0416名前は開発中のものです。2010/04/22(木) 07:40:35ID:LWeLhqLi
>>414
public static class DX ← DxDLL.csのコレじゃない?
0417名前は開発中のものです。2010/04/22(木) 08:53:49ID:WPTmFNu1
どこでってC#の言語仕様としか言いようがない。
0418名前は開発中のものです。2010/04/22(木) 14:48:16ID:ZG8yNoGq
自分はC++からしか使ったことがないけど、先頭の DxLib:: を強制するようにしてる。
ヘッダの一箇所いじるだけだし。
0419名前は開発中のものです。2010/04/22(木) 19:33:21ID:rUSH5Zjs
>>414
「DX.」無しに出来ないことはないが……

1. DXクラスを継承する
2. DXクラスの内部クラスにする

正直どちらも個人的にオススメできない。
0420名前は開発中のものです。2010/04/22(木) 22:09:41ID:WPTmFNu1
DXライブラリってクラス分け無視して全部DXクラスにぶち込んでるよね
0421名前は開発中のものです。2010/04/22(木) 22:22:34ID:j0lNwuaM
Cと同じように書きたいんだったらなんでC#なんか使ってるんだろう
そもそもC#使うんだったらDX.が面倒に感じるくらいに至るところで
DXライブラリの関数呼ぶような作りにはしたくないと考えるのが正常
0422名前は開発中のものです。2010/04/23(金) 03:08:33ID:t0jcGOji
>>414
DX.はあった方がC#には都合良いと思うが、コード補完機能があるわけだし
安全にDXLibの関数を呼び出せる
0423名前は開発中のものです。2010/04/23(金) 08:43:52ID:mKYVAr1j
おまいらは、C++でDxLib::って使ってる?
0424名前は開発中のものです。2010/04/23(金) 08:55:13ID:buSkGgKb
VBでDxLib. ってやってる
0425名前は開発中のものです。2010/04/23(金) 10:05:29ID:wvm8Aaop
>>423
ラップする時に使った
0426名前は開発中のものです。2010/04/23(金) 16:11:34ID:WWexJsB8
ボーン情報を持ってないモデル同士を関連付けるにはどうすればいいですか?
軸ベクトルと原点位置は親に従うから親クラスが持ってればいいかと思うけど
移動処理を必ず親側から先にやらないと分離しちゃうよね?
04274262010/04/23(金) 16:33:55ID:WWexJsB8
うーむ・・・例えがいまいちかな
人が歩くパターンはボーン関係なく、アニメパターン通りのポリゴン読み込ませれば済むが
歩きながらクビだけ動かしたいときに
全部の動きのアニメパターン作るわけにいかないよね
フレームやメッシュを相対的に回転させるにも、原点や軸ベクトルが別途要るよね・・・
どうやってるの?
0428名前は開発中のものです。2010/04/23(金) 16:50:31ID:B7bfRG/Y
元で頭と胴体を分けりゃいいだろ。
04294262010/04/23(金) 16:57:17ID:WWexJsB8
>>428
分けただけでは
体が上下しながら歩いてる最中に
頭だけ平行移動する
0430名前は開発中のものです。2010/04/23(金) 17:25:33ID:B7bfRG/Y
>>429
今、お前の胴体に頭は付いているか?
0431名前は開発中のものです。2010/04/23(金) 18:03:35ID:WWexJsB8
>>430

分けて同じアニメパターン再生しろと?
それで右向いたり左向いたり別のアニメパターンを用意するの?
答えにもなってない煽りほどアホっぽい
0432名前は開発中のものです。2010/04/23(金) 18:24:14ID:B7bfRG/Y
>>431
何言ってるんだ?

少しは頭使えよ……。
0433名前は開発中のものです。2010/04/23(金) 19:04:30ID:xmwI7LMX
頭使えないからこんな阿呆な質問するんだろ
0434名前は開発中のものです。2010/04/23(金) 19:11:59ID:Jo0qLiOq
何も有益な情報は残さずに読むものを不快にさせるだけのレスをするやつは死ねばいいのにな
0435名前は開発中のものです。2010/04/23(金) 21:19:10ID:d3uLMwt4
モーション付けするときに、体(首)の位置を変えなければいい。
頭は、体の位置から自分の位置を決める。
悩むことじゃないと思うんだけどな。
0436名前は開発中のものです。2010/04/23(金) 21:23:52ID:jlFy7MBd
>>431
馬鹿発見
0437名前は開発中のものです。2010/04/23(金) 21:29:48ID:c8NFf8b/
ちょっと荒れそうなところ申し訳ないんだけど

カメラの回転をしない2Dのクォータービューのマップを作るとしてさ
仮に立方体の単位ブロックを2次元的に並べると板ができるよね

この時手前にあるブロック以外のブロックは側面を隣のブロックの上面に上書きされてしまうよね

上書きされてしまう部分に書き込む位ならテクスチャのように元から上面だけのブロックを作ろうと思ったんだけど
この上面だけのブロックって結局元のブロックの側面を消しただけの代物で
ブロックの大きさをまったく変えてないんだけど効果あるのかな

極端な話
100*100のサイズの画像内で10*10を残してそれ以外を透過してしまう場合と
透過せずに使う場合とではやはり負荷は変わりませんかという質問をしようと思ったけど馬鹿にされそうだし
試した方が早いから試してくるわ!

0438名前は開発中のものです。2010/04/23(金) 21:35:23ID:45zRILJI
差はないんじゃないの
もしあったとしてもゲーム全体でみるとどう考えてもそれくらい有意な差にはならない
0439名前は開発中のものです。2010/04/23(金) 22:08:08ID:c8NFf8b/
うん、試してみたら透過面積と負荷に関係は見られなかった。
当たり前だけど画像の大きさと負荷、それと透過フラグと負荷には関連が見られた。

なんとなくでクォータービューでマップ作ったらfps60切るんだ
軽量作戦はいくつか考えてるけど結果からテクスチャ作戦はサイズ小さくしないと意味ないみたい

3Dの知識まったく無いけどつぎは新型画像表示のナントカプリミティブ作戦を試してみるわ!
0440名前は開発中のものです。2010/04/23(金) 22:18:26ID:45zRILJI
ブロック画像を一つずつ別々のファイルにしてない?
まとめたら速くなるよ
0441名前は開発中のものです。2010/04/23(金) 22:31:32ID:c8NFf8b/
別々でもメモリに読み込んじゃえば同じなんだと思ってた。
でもLoadDivGraphで配列にしてるよ!
0442名前は開発中のものです。2010/04/23(金) 23:13:53ID:JcStY8Dp
>>435
>モーション付けするときに、体(首)の位置を変えなければいい。
なにその制約?知ったか乙
0443名前は開発中のものです。2010/04/25(日) 08:51:18ID:wK7BX2UB
Visual Studio2010にしようと思っているんですが、
Visual Studio2010でDXライブラリは使えますか?
0444名前は開発中のものです。2010/04/25(日) 09:03:03ID:j90wdTS5
使えます
0445名前は開発中のものです。2010/04/28(水) 20:24:38ID:KbFQ0HY6
_beginthreadex関数でサブスレッド呼んでそっちで画像とかを読み込んでるんだけど数回に一回テクスチャの生成に失敗しましたとかログに出て死ぬんだけどなんでだろう
メインのスレッドはLoadingとか表示して待機させてる
さらに時々KERNEL_MODE_EXCEPTION_NOT_HANDLEDがnv4_disp.dllで発生して青画面になっちゃう
0446名前は開発中のものです。2010/04/28(水) 23:08:23ID:wqxysXub
スレッドセーフじゃないからとか
0447名前は開発中のものです。2010/04/29(木) 03:07:22ID:sZFsWi8G
一応サブのスレッドでLoadGraphによってアクセスする変数にはメインからは触らないようにしてる
別々のスレッドでLoadGraphとDrawGraphを同時に呼んでもどっちかが待つ仕様になってるらしい…
サブのスレッドでLoadGraphを呼んだ時にまれにテクスチャの生成に失敗してる
0448名前は開発中のものです。2010/04/29(木) 03:23:11ID:WyOTGIZm
スレッドセーフじゃないから、動作自体が干渉するよ。そこらへん。
mutex使いな。
0449名前は開発中のものです。2010/04/29(木) 03:30:07ID:sZFsWi8G
クリティカルセクションみたいなもんかな?勉強してくる
0450名前は開発中のものです。2010/04/29(木) 10:30:53ID:psWR98YY
SetMultiThreadFlag( TRUE );使ってる?
0451名前は開発中のものです。2010/04/29(木) 13:28:46ID:sZFsWi8G
>>450
その一行を足しただけでテクスチャ生成の失敗やブルースクリーンが全く発生しなくなった…
0452名前は開発中のものです。2010/04/29(木) 15:22:12ID:WyOTGIZm
SetMultiThreadFlagだけじゃアクセス違反とかは完全に防げないんじゃなかったっけ。
0453名前は開発中のものです。2010/04/30(金) 10:56:10ID:rf8FaY8l
ソースによってはエラーでたりでなかったりで運悪くでないままだと後で泣く
0454名前は開発中のものです。2010/04/30(金) 11:22:08ID:MTvP54Lu
>>452>>453
>>447がスレッド意識した組み方してるから動いてるんじゃないの
それともSetMultiThreadFlag( TRUE )はバグってて役に立たないのか?
0455名前は開発中のものです。2010/04/30(金) 11:26:52ID:k3iPyjE4
フルスクリーンで表示して最小化した後戻すと画面が黒画になりますどうなってますか
0456名前は開発中のものです。2010/04/30(金) 12:08:47ID:XOoci0bd
@SetDrawScreenしなおす
A画像読み直す
0457名前は開発中のものです。2010/04/30(金) 12:14:25ID:k3iPyjE4
@orAを実行するタイミングはどうやって知ればいいですか
0458名前は開発中のものです。2010/04/30(金) 13:13:07ID:XOoci0bd
ああ勘違いスマソ
最小化じゃなくてウィンドウ化と勘違いしてたわスマソw
0459名前は開発中のものです。2010/04/30(金) 13:18:26ID:8Wt7P136
別に解答は間違ってないよ
タイミングは最小化から復帰したことを知らせる関数があったはず
0460名前は開発中のものです。2010/04/30(金) 13:19:21ID:k3iPyjE4
すいません。最小化というかalt+tabでのウィンドウ切り替えです。
あとフルスクリーンで起動してGetWindowModeFlagするとウィンドウ切り替え後もいつでも0しか返ってこないんですがどうなってますか
0461名前は開発中のものです。2010/04/30(金) 13:25:45ID:k3iPyjE4
>>459
おお。関数名をずばりお願いします。
0462名前は開発中のものです。2010/04/30(金) 15:01:48ID:kormAlrd
リファレンスはちゃんと探してみた?
0463名前は開発中のものです。2010/04/30(金) 15:46:31ID:8Wt7P136
>>461
めんどくさいからヤダ
本家掲示板の過去ログ漁れ
0464名前は開発中のものです。2010/04/30(金) 16:02:13ID:k3iPyjE4
公式のリファレンスには載ってないようですね。隠れ関数というやつでしょうか。
つうかなんで最小化したら設定クリア&画像読み込みし直しになる仕様になってるんだよマジめんどくせええ
0465名前は開発中のものです。2010/04/30(金) 16:13:59ID:8Wt7P136
それはDirectXかWindowsの作者に言うべき文句

http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=349&p=4
これだな 復帰後に自動的に呼ぶ関数を登録出来るって奴だった
0466名前は開発中のものです。2010/04/30(金) 16:56:49ID:k3iPyjE4
>>465
うおおお。フラグを立てるだけの関数を以下にセットして
フラグが立っていたら再設定処理を走らせるようにしたら復帰できました!
int SetRestoreShredPoint( void (*ShredPoint)( void ) ) ;

あなたま神ですありがとうありがとう。
0467名前は開発中のものです。2010/04/30(金) 17:42:11ID:Vax4dCjP
ん? それ、たしか最新版付近で対応されたぞ?
0468名前は開発中のものです。2010/04/30(金) 17:44:11ID:Vax4dCjP
みっけた。コレコレ。
>ChangeWindowMode や SetGraphMode を行った際に描画設定やグラフィック
>ハンドルを破棄するかどうかを設定する関数
>SetChangeScreenModeGraphicsSystemResetFlag の追加。
0469名前は開発中のものです。2010/04/30(金) 17:57:03ID:7H9Ysku5
>>468
それ使ってんだけど、リセットさせないことで何か問題ある?
現状でもデフォルトでリセットされるのは
以前の仕様でハンドル復元するように作られてるものに合わせてであって
今現在作ってるならリセットさせないのがスタンダード?
0470名前は開発中のものです。2010/04/30(金) 22:03:36ID:+5pvXoEJ
独自形式の画像ファイルを読み込む場合は、コールバックを設定しなきゃダメだったよな。
今は違うんだっけ?
0471名前は開発中のものです。2010/05/01(土) 09:23:20ID:FYcng4Vw
その独自形式が展開前のことなら
ハンドル消えないし読み込む必要なし
0472名前は開発中のものです。2010/05/01(土) 15:45:54ID:l1Sh9Nck
>>471
そうなのか。知らない間に細かい仕様も変わってたんだなあ。
0473名前は開発中のものです。2010/05/06(木) 22:39:08ID:nAJyv7jV
画像の一部のみを透過させることは可能?

敵が倒れるときのエフェクトで、1ドットずつポツポツと消えるような感じを再現したいのだが・・・
なかなかいいアイデアが浮かばない。
0474名前は開発中のものです。2010/05/06(木) 22:43:16ID:BT80FJo6
SoftImageとか
0475名前は開発中のものです。2010/05/06(木) 22:46:02ID:UjQ7bz3i
ZBufferとか
ドットアニメなら普通は全部用意する
0476名前は開発中のものです。2010/05/07(金) 00:04:54ID:BCIttM8o
うーん、全部用意か・・・
0477名前は開発中のものです。2010/05/07(金) 00:22:38ID:liE/Y1K+
背景の方の、(消える動きを表現した)ドット画像を全部用意して、
敵の画像の上にそれを上書き。
0478名前は開発中のものです。2010/05/07(金) 00:53:08ID:BCIttM8o
上書きじゃ透過はしなくないか・・・?
そのドット画像をマスクにしたら実現できるかもな
0479名前は開発中のものです。2010/05/07(金) 01:30:15ID:liE/Y1K+
いや、敵キャラをボツボツと消えるようにするんじゃなくて、
敵キャラの上に背景と同色の絵を置いていく事で、敵キャラが消えるように見せかけたらどうか、
と言ってみただけだ。

全種の敵の消えるアニメを用意するより、背景のアニメを用意する方が少ないんじゃないかなと。
背景絵が固定なら、だが。
04804732010/05/07(金) 02:06:16ID:BCIttM8o
ああ、そういうことね
だが背景はいろいろ変えるからその方法だと難しいな。

みんなレスありがとう、もう少し頑張る。
0481名前は開発中のものです。2010/05/08(土) 06:13:21ID:MEyRpn+B
よくデザエモンとかでやった手法だなあw
0482名前は開発中のものです。2010/05/08(土) 13:34:25ID:pIlEQWpG
マスクで出来そうに思える。
マスク使ったことないけど。
0483名前は開発中のものです。2010/05/08(土) 23:06:22ID:rpBfZCTu
Visual Studio 2008で開発しているのですが、、コマンドラインでコンパイルすることはできますか。
0484名前は開発中のものです。2010/05/08(土) 23:10:28ID:XwoSm5/D
できるよ。ツールにコマンドプロンプトあるからそこでcl
0485名前は開発中のものです。2010/05/10(月) 00:49:56ID:RlmUghAl
a
0486名前は開発中のものです。2010/05/19(水) 18:07:16ID:fA7Obr04
過疎ってるから上の方にあったような気がした話題をば

3Dキャラに武器を持たせたり、髪型を変えたりしたい場合は
それぞれ武器を持たせたモデル、アニメを作るんだ
髪型10種類、武器10種類なら、10*10*アニメパターンを作るだけだ
これなら読み込むモデルを変えるだけで簡単にモンハンみたいなゲームが作れる

プロが現場で使ってる最適化処理だから覚えておけよ
0487名前は開発中のものです。2010/05/19(水) 18:19:04ID:niDgs1bt
自信たっぷりに嘘八百を書くとレスしてもらえるメソッドを実行中ですか?
そんなわけあるかボケ。
普通はキャラクターは1体で、武器だけ差し替えられるように作る。
0488名前は開発中のものです。2010/05/19(水) 18:22:24ID:6JDdAcQa
いやまて各部品を組み合わせた画像を自動生成するシステムを作れという意味かもしれんぞ!
0489名前は開発中のものです。2010/05/19(水) 18:22:58ID:fA7Obr04
>>487
なんでわかったんだよコンチクショー
DXライブラリで髪型変えたいんだがわからないんだよトウヘンボク
0490名前は開発中のものです。2010/05/19(水) 18:45:55ID:fA7Obr04
MV1DrawFrame使えばいけそうな気がしてきた
フレームの座標をMV1GetFrameNumで調べて、そこに指定の髪型なりをブチ込めばいいのかな?(チラッ
0491名前は開発中のものです。2010/05/19(水) 19:38:20ID:gcjFlSAC
悪いこといわんから別のライブラリ使おうぜ
0492名前は開発中のものです。2010/05/19(水) 21:02:08ID:fA7Obr04
うし、出来た^^
これでHUNTER BLADEを超えるゲームを作れる

簡単だし趣味でゲームを作るくらいなら、他のライブラリとかいらんわい
0493名前は開発中のものです。2010/05/19(水) 21:07:29ID:Xopcd8KA
はいはい
できたら来てね
0494名前は開発中のものです。2010/05/19(水) 21:17:09ID:fA7Obr04
>>493
なんでネガキャン野郎がこのスレにいるの?
他の使ってるなら該当スレ行きなよ。俺はDXLibで十分なだけで他のも素晴らしいよ?
HUNTER BLADEは冗談だけど(ggrばわかるよ)、作ったのはもう既に窓の杜に掲載されてるよ
お前もネガキャンやってないで何か作りなよ。反響あると楽しいよ
0495名前は開発中のものです。2010/05/19(水) 21:19:22ID:Xopcd8KA
はいはい
できたら来てね
0496名前は開発中のものです。2010/05/19(水) 21:25:43ID:fA7Obr04
 い い
 きた 

なんだ縦読みか。心の声に気付いてやりなよ
超ガンバレ!応援してるぞ!
0497名前は開発中のものです。2010/05/20(木) 01:02:41ID:bwm4Bwpb
>>494
掲載されてるソフト教えてくれまいか
興味ある
0498名前は開発中のものです。2010/05/20(木) 20:16:19ID:F5MAUXDm
どうしてもLoadGraphってのに慣れない
LoadImageというネーミングの方があっているのではないかと
0499名前は開発中のものです。2010/05/20(木) 20:17:35ID:88R7sKje
#define LoadImage LoadGraph
おすすめ
0500名前は開発中のものです。2010/05/20(木) 20:52:43ID:8m9HwZv7
LoadImage だとWindowsAPIに似た名前のがあるからそれと区別するためじゃないか
0501名前は開発中のものです。2010/05/20(木) 20:54:12ID:3YUJcVw0
DXライブラリは関数名気にしたら負け
SetOutApplicationLogValidFlagとかムチャクチャw
0502名前は開発中のものです。2010/05/22(土) 20:44:13ID:PO6njHeW
GetHitKeyAllStateとか。
0503名前は開発中のものです。2010/05/22(土) 23:06:38ID:5AcZfp/Q
意味分かりゃあいいんだよw
0504名前は開発中のものです。2010/05/23(日) 00:15:32ID:DdTVaoM3
俺みたいなぺーぺーには逆に意味がわかりやすく感じるけどな
0505名前は開発中のものです。2010/05/23(日) 00:41:15ID:fQuY0Z+n
というかコピペするだけだし。
0506名前は開発中のものです。2010/05/23(日) 09:31:26ID:OfEEoSjP
てか、どんなんが普通なの?
命名って結構迷うからちょっと教えて欲しい
俺も割とDXライブラリの命名とおんなじ感じだけど・・・
0507名前は開発中のものです。2010/05/23(日) 09:45:16ID:QeJ8B9MS
英語としてそれなりに正しい用法をしてるのが正しい
まあ分かればいいんだよ 全く不規則だったりローマ字付けるよりはマシ
0508名前は開発中のものです。2010/05/23(日) 09:50:18ID:LJpS5I3f
ちなみに関数名って覚えてる?

いちいちコピペばかりだと使いこなせてる感じがしなくて・・・・・・
■ このスレッドは過去ログ倉庫に格納されています