- 1 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 07:54:54.05 ID:1UQaJ7F4]
- Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【前スレ】 DXライブラリ 総合スレッド その12 toro.2ch.net/test/read.cgi/gamedev/1330000532/ 【過去スレ】 01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/ 02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ 03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ 04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ 05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ 06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/ 07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/ 08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/ 09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/ 10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/ 11 toro.2ch.net/test/read.cgi/gamedev/1322844235/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/
- 258 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 22:44:06.78 ID:WLRtXJzk]
- そもそもC++だとtypedefを使う機会があんまり…
- 259 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 22:44:29.19 ID:kFhUqkhX]
- ああ、これが自己投影というものか。
- 260 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 22:53:27.83 ID:Vc98TddL]
- >>258
いやあるけど
- 261 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 22:58:23.01 ID:Vc98TddL]
- むしろ C++ だと typedef なんてめちゃめちゃ有りがたいが。
boost::shared_ptr<HogeClass> hoge; だとか、 std::vector<boost::shared_ptr<HogeClass>> vecHoge だとか、まして for(std::vector<boost::shared_ptr<HogeClass>>::iterator it = vecHoge.begin(); it != vecHoge.end(); ++it) { /* 略 */ } なんて、毎度毎度書いたりしないでしょ。 他細かい部分で、unsigned char を byte にしたいだとか、 他自前のテンプレートクラスについて、バリエーション予め用意しておくだとか。 使う機会めちゃめちゃあるじゃないって思ったが、もしかして Better C な内容しか書かないといらないのか
- 262 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:04:21.51 ID:HvQGDDgW]
- 11だとautoが入ったな
- 263 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:08:09.09 ID:Vc98TddL]
- >>262
C++11はちゃんと調べて無いんだが、あれって型推論的なものと聞いたが C++でダックタイプってのもどうなのよってのはあるが
- 264 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:09:04.98 ID:NB/uR81n]
- std::vactor<T>とかテンプレートクラスに
typedef使うのは常套テクニックだな。 代わりに継承を使う場合もあるかもしれんが。
- 265 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:15:27.20 ID:HvQGDDgW]
- 俺も詳しく見てないけど
使う感覚にしちゃテンプレートとかポインタと指して変わらんと思う 便利なら使うってのでいいんじゃね さっきの例で使うならiteratoのところ宣言する面倒無くなるし
- 266 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:25:16.97 ID:Vc98TddL]
- >>265
あぁそうか… コンパイラがポインタの先のテーブル見に行って推論みたいな、そんな感じなのかな その意味で言うと、イテレータに限らないが、なんでも省略可能になっちゃったりするんだろうか Perlみたいな… って想像したくないんだが。 >>264 テクニックって言うか、単純に見づらくなるからってのと、 あとコンパイル時解決と実行時解決の使い分け次第じゃね 他だと、関数ポインタを引数に取るコールバックだとか、それに類する所で boost::function とか まして boost::function なんて、マルチスレッドコード書くときお世話になりまくる。 関数のシグネチャを毎回書くのは保守性の観点からもアレだから、やっぱりこの辺も typedefするのが普通。 無かったら C++ 辛いになってしまう。
- 267 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:41:52.16 ID:Vc98TddL]
- あとあれだ、DirectX絡みでいうと、DXLibの範疇だと用がないかもしれないが、
頂点バッファにカスタムFVFで頂点定義する時、定数渡して定義固定化したバッファのクラスや構造体作るときに、 テンプレート化してさらにtypedefして使ったりする。俺の場合だけど
- 268 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:52:31.07 ID:PJsHcyOi]
- >>224
>リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。 ハンドルより、定数が全部int型で定義されてる方が気になるなあ。 例えば、SetDrawBlendMode() の第一引数とか列挙型で定義しといて欲しい。
- 269 名前:名前は開発中のものです。 mailto:sage [2012/06/21(木) 23:56:46.30 ID:MRBLh9lt]
- ハンドルとか別にintでもなんでもいいんだけどさぁ、
せめてモードとかタイプとかの指定にはenumを使って欲しい 非公開の関数だとヘッダ見ても何を指定すればいいのかわからない時があるんだよなぁ…
- 270 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 00:08:54.64 ID:iI1PSMpU]
- >>261
……あ、毎度書いてた
- 271 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 00:40:34.47 ID:vVJJHNCt]
- ハンドルがtypedefだと間違った変数渡しても勝手に変換されるから意味ないでしょ
structにしとくとコンパイル時にエラー出るから便利だよ
- 272 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 01:04:31.28 ID:qZxxS3ym]
- 関数に変数を指定してPlaySoundMemで使いたいんですが、これをどうすればいいでしょうか?
具体的には、se_play関数の引数に変数名を入れて他から指定番号のSEを呼び出せるようにしたいのです void se_play(char se_number){ PlaySoundMem(se_number,DX_PLAYTYPE_BACK); }
- 273 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 04:14:09.11 ID:/rEqvofv]
- vc++2008でDXライブラリ使ってたらインターネットブラウザがすごく重くなったんですが
これがメモリリークというやつですか? LoadGraph関数のリファレンス読んだんですがサンプルではfree()関数で開放はしていません。 自動的に開放されるというわけではないんですか?
- 274 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 04:16:48.36 ID:vVJJHNCt]
- 自動的に開放はされない
DxLib_End呼んで終了するかDeleteGraph使わないと開放されない
- 275 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 07:02:09.99 ID:uPLkt+w2]
- まだやってたのか
自分を客観的に見れない馬鹿はどうしようもないな
- 276 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 13:03:14.63 ID:l51oT9C4]
- DrawGraphとかPlaySoundMemってポインタ使えないの?
- 277 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 13:06:54.58 ID:uPLkt+w2]
- どういうことだろう
ポインタから実体の値を呼び出すには*hogeとすればいいけど
- 278 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 14:33:18.57 ID:l51oT9C4]
- 使えるのかありがと
- 279 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 14:33:31.71 ID:EOlR9Clb]
- ハンドルのポインタだな。
int sound1, sound2; int *pHandle = &sound1; se_play(*pHandle); でも >>272 の引数はcharなんだよね。 たぶんツリーでハンドルのこといいたいんだろう。 std::map< std::string , int > tree; void se_play(char* name){ std::string key = name; int handle = tree[key]; }
- 280 名前:272 mailto:sage [2012/06/22(金) 15:09:59.09 ID:l51oT9C4]
- >>279
そんなやり方があるんですか、どうも! DXライブラリを更に省略したくて作ってたんです
- 281 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 15:10:55.86 ID:l51oT9C4]
- 初めてip被った…
- 282 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 15:37:10.00 ID:rmxXQg9H]
- DxLibModelViewerでメタセコのモデル読み込んだらテクスチャが真っ白になっちゃうんだけど解決法ない?
前に一回だけちゃんと表示されたけど条件が分からん…これじゃMV1が使えない 一応ファイルの場所はあってるんだけど
- 283 名前:名前は開発中のものです。 mailto:sage [2012/06/22(金) 16:08:23.44 ID:9VY+vhBh]
- >>282
パスに空白や日本語とか よくあるそれ系の話とか
|

|