DXライブラリ 総合スレッド その13at GAMEDEV
DXライブラリ 総合スレッド その13 - 暇つぶし2ch205:名前は開発中のものです。
12/06/21 12:17:30.56 5IEIjIFs
今風のエフェクトや特殊処理を簡単に扱える=自由度が高い
そういうのを自分で工夫してやらないといけない=自由度が低い

みたいに思ってるのかな・・・


206:名前は開発中のものです。
12/06/21 12:21:50.19 6wn4ZvHr
甘やかされた初心者なんだろうな…

207:名前は開発中のものです。
12/06/21 12:28:02.41 Vc98TddL
>>205
これ逆だよな

208:名前は開発中のものです。
12/06/21 12:34:31.28 suI+Yk2L
思ったことがすぐ出来るのが自由度だと思ってるんだろうな
普通は思い通りの事を実現できるのを自由度っていうもんだが

前者みたいなのはツクールでも弄ってればいいんじゃないかな

209:名前は開発中のものです。
12/06/21 12:46:22.05 Vc98TddL
ただ、例えばDirectXネイティブで書けるような自由は、逆にDXLibの範疇に限定したら当然無いんだけど、
その事言ってるんじゃね

てか無いって言うか、逆にそれならDXLibなんて特に不要だから、単に使わなきゃいいだけなんだけども


210:名前は開発中のものです。
12/06/21 15:41:04.76 XrqXFppV
DirectXでSPRITEを使えばDXライブラリとの難易度の差なんてほとんどないよ
初心者がコケるのはWin32の部分

211:名前は開発中のものです。
12/06/21 16:20:28.37 Vc98TddL
>>210
俺はどっちかって言うと3Dの部分も含んだ意識だった
あとDirectSoundとか。ついでにXAudioとか。
スプライトだけとか狭い限定的な部分見たら、そうかもしれないが


212:名前は開発中のものです。
12/06/21 16:30:53.64 Vc98TddL
逆にDxLibの薄さで言うと、別の狭い限定的な見方をしていけば、
例えばwin32との差が大して無い物もあるので、同じことかなと

213:名前は開発中のものです。
12/06/21 16:41:48.97 6wn4ZvHr
スプライトは今のPCじゃ恐ろしく速度出ませんよ

214:名前は開発中のものです。
12/06/21 17:11:12.71 NB/uR81n
初心者が妬んでいるのか。人格批判に終始しているな。

215:名前は開発中のものです。
12/06/21 17:26:42.81 9eDUHMpj
そんなことより俺の質問答えてよ

216:名前は開発中のものです。
12/06/21 17:34:19.88 3Xx//Tzr
>>199
俺が出来ないことをライブラリがやってくれない
俺の出来ることはほとんどない
(俺が)DXライブラリを使っても自由度が低い

217:名前は開発中のものです。
12/06/21 17:41:37.68 NB/uR81n
>>215
どうせ人格批判、質問、根拠のない小学生みたいな感想文、
草付き一行レスしかしないんだろ?
わざわざ煽りの相手をすることもない。

DXライブラリしか知らない狭い知識の自分を正当化するために
DXライブラリを完全無欠と信じたいなら、それもいんじゃないですか?

218:名前は開発中のものです。
12/06/21 17:45:48.25 9eDUHMpj
だってお前複数行で答えなきゃいけないような事何も言わないじゃんw

219:名前は開発中のものです。
12/06/21 17:49:40.81 NB/uR81n
ほらほら怒り出した。

220:名前は開発中のものです。
12/06/21 17:50:47.23 fz57PckV
ID:NB/uR81n
今まさに人格批判をしまくってるアホは放置でつよ

221:名前は開発中のものです。
12/06/21 18:07:39.47 6wn4ZvHr
無知と馬鹿は罪ですよ
勉強しなおして出なおしてこい!
というかここDXライブラリのスレなんだしDXライブラリ使わないなら出てけよと言いたいw

222:名前は開発中のものです。
12/06/21 18:10:06.63 Vc98TddL
なんかエラい事になってるな
コード書こうぜ

223:名前は開発中のものです。
12/06/21 18:37:59.59 HvQGDDgW
seleneでもこんな奴が沸いてたのを思い出した

224:名前は開発中のものです。
12/06/21 18:44:28.34 6mb27Hng
ドキュメントが整備されてない。
思い通りに行かないとき、正常動作なのか異常動作なのか分からない。

メッセージループが独自。これは自由度を大幅に制限している。
てか、この設計のせいでライブラリ全体が歪んでる。

リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。

バグが多すぎる。さらにアップデートするともれなくバグ発生。
テストコードがないため、そういうことにも気づかずにリリースされる。

節操のないAPI追加。似たような機能と名前のAPIが大増殖。

ちょっとライブラリ批判を行うとライブラリ戦士が登場して
ライブラリ批判封じと人格批判を始める。
だからいつまでたっても問題が共有されないし改善案も練れない。

225:名前は開発中のものです。
12/06/21 19:06:00.92 9eDUHMpj
>正常動作なのか異常動作なのか分からない。
これは他のライブラリでも、
使い方が間違ってる(正常動作)のか例外状態(異常動作)なのかはわかりにくい。
というか、理解するまでわからないのが普通だろ。つーか戻り値見ろよ

メッセージループに関しては
そういう設計思想(初心者が理解し難いだろう複雑さは排除する)なんだからしょうがないだろう
それで歪んでるとは俺は思わないが

あとは概ね同意だな
特に型に関してはint1個を適当に構造体でラップすりゃいいのにとか確かに思うな。
直接アクセスさせる必要は全くないし

226:名前は開発中のものです。
12/06/21 19:46:35.03 HvQGDDgW
何を指して言ってるのか全然分からない御託に対して同意できる所があるなんて凄いな

227:名前は開発中のものです。
12/06/21 19:50:54.79 HvQGDDgW
ちなみに褒めてないぞ

228:名前は開発中のものです。
12/06/21 19:51:10.60 Vc98TddL
>>225
>特に型に関してはint1個を適当に構造体でラップすりゃいいのにとか確かに思うな。

どっちかって言うと、C/C++プログラマ的に真っ先に浮かぶのは普通 typedef だと思うが


229:名前は開発中のものです。
12/06/21 19:52:45.87 CowLIiiz
どういう処理をしてるか全く分からないけどとりあえず構造体にtypedef使ってるわ
なぁにこれ

230:名前は開発中のものです。
12/06/21 19:53:02.53 6wn4ZvHr
>>224
お前が挙げた他のライブラリにも多くて、DXライブラリが特にって要素もそれほどないな……
バグだって他のライブラリもかなり多いし、DXライブラリは休みなく更新し続けてることでカバーしてる
最新版に差し替えるだけで常に開発に影響せずに保守できるのがライブラリの強みだし

メッセージループだって、seleneとかメッセージループなんてもんじゃない規模で縛ってるし、
これによる弊害はネイティブなWinAPIとの併用が出来なくなることくらいだけど、
じゃあ、他のライブラリはWinAPIをそのまま組み合わせて使用するようなことができるのか?

でも一番の突っ込みどころは、「型システムの恩恵をわざわざ捨ててる。」の一行だなw
型システムってなんやねんw 恩恵を受けるように書いたらどうなるんだろうなw


231:名前は開発中のものです。
12/06/21 19:55:00.18 Vc98TddL
DXLibに用意されてるメッセージループを使わないで、
その他の機能だけ、出来合いのサブルーチンとして利用してもいいんじゃね


232:名前は開発中のものです。
12/06/21 19:58:37.18 Vc98TddL
>>229
えらく初歩的な話だけど、変数名に当たる部分を新たな型として明示する指定

別の構造体とかでラッピングしてしまえ、ってのは、JavaやC#だとそうするけど、
C/C++だとそうでなく、コンパイラ指示でおkが普通って話。その用途の場合は。

233:名前は開発中のものです。
12/06/21 20:04:17.05 /H6puBOG
>>229
C言語なら構造体にtypedefはデフォだな

234:名前は開発中のものです。
12/06/21 20:09:01.40 NB/uR81n
>>224
>リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。
ポインタと構造体を極力使わないのが当初のポリシーだったんだと思うが
最近の追加API見る限り崩れているな。
あとハンドルがint型なのはリソース解放の管理を
初心者が学ばない悪い習慣の温床になっているはず。
ライブラリ終了時に確実に全てのリソースを解放してくれるのは良いと思うが。

235:名前は開発中のものです。
12/06/21 20:11:22.48 6wn4ZvHr
ハンドルがintなのとリソースの開放をしないのは全く関係ないだろ?
こういうおかしいことばかり言う奴が偉そうにしてるのがなぁ

236:名前は開発中のものです。
12/06/21 20:19:05.49 /H6puBOG
なぜDxLibは生のintをハンドルに使用しているのは
覚えなきゃならないものを極力少なくしてるんじゃないかね。
初心者には、一度に新しい単語を複数見せるとパニックになるかもわからんし(偏見です

237:名前は開発中のものです。
12/06/21 20:24:03.85 if7eQlmq
別にintで困ってないしどうでもいい

238:名前は開発中のものです。
12/06/21 20:30:04.33 Vc98TddL
つまりintで良い(いい)んと


239:名前は開発中のものです。
12/06/21 20:30:17.24 6mb27Hng
typedefは別名つけるだけ。
構造体は新しい型を作る。
静的型付け言語なんだから別名じゃなくて新しい型を作れって話だよ。

>>ID:6wn4ZvHr
型システムについてまとまってるページがあるわ。
URLリンク(ja.wikipedia.org)

240:名前は開発中のものです。
12/06/21 20:51:13.82 NB/uR81n
>>235
君は無知なんだからもう黙ってたほうがいいよ。
恥の上塗りにしかなっていない。
初心者向けライブラリでも、君の人格障害までサポートできないんだ。

241:名前は開発中のものです。
12/06/21 20:54:40.55 6wn4ZvHr
>>239
そういう意味じゃないんだよ

>>240
人格障害はお前のことだろw
DXライブラリ使うわけじゃないのになんでここに居るんだ?

242:名前は開発中のものです。
12/06/21 21:00:21.67 /H6puBOG
DXライブラリは初心者向け、ってことでな。
2chにスレが立ってから、君みたいなスレ住人相手に自己満足に耽る輩が何回も来ている。
大体1スレに1回は来てると思う。

相手してくれてるだけでも幸せだと思っておいた方がいいよ?

243:名前は開発中のものです。
12/06/21 21:02:59.12 if7eQlmq
むしろスレを加速してくれるのでありがたい

244:名前は開発中のものです。
12/06/21 21:04:09.94 6wn4ZvHr
そういや前は2Dアクション斜面くんが居たっけ
共通してるのは、未熟で、どこかおかしい考えしてるのに、妙に自分の正しさを主張するあたりか

245:名前は開発中のものです。
12/06/21 21:09:49.30 NB/uR81n
>>236
完全にポインタ(メモリの動的確保)なし、プリミティブ型(int char double)と配列、
関数だけでミニゲーム作らせる意図があるならそれはそれでいいかもしれないが、

一部構造体使ってたり関数ポインタの解説があったりすると
当初のポリシーがぶれているように見える。


246:名前は開発中のものです。
12/06/21 21:13:56.51 rKN9osr3
NGID登録した

247:名前は開発中のものです。
12/06/21 21:34:50.49 ha4jcXpS
>>245
構造体はネットワーク通信とか3Dグラフィックとか
それなりに複雑で応用的な部分にしか使われていないという認識だったが。

関数ポインタは、サンプルプログラムとして軽く触れているだけだな。

むしろ構造体とかにまったく触れないのもどうかと思うけどな。
初心者がステップアップしていけるってのも割りと重要でしょ。

何でこのスレはこんなに煽り耐性が低いと思う?
みんなステップアップしてよそに行くから、住人の入れ替わりが早いんだよ。
たぶん。

248:名前は開発中のものです。
12/06/21 21:36:56.43 suI+Yk2L
意味不明なことを喚いて相手にされないと
低レベルのレッテルを貼るのはキチガイのテンプレ行動だな

249:名前は開発中のものです。
12/06/21 22:14:34.59 Vc98TddL
構造体とか基礎の範疇だけど

250:名前は開発中のものです。
12/06/21 22:15:38.80 NB/uR81n
>>247
>初心者がステップアップしていけるってのも割りと重要でしょ。
例えば、 LoadGraphScreen と DrawGraph を順に覚えて
混乱しながら違いを理解するより、DrawGraphしかない方が
初心者は手っ取り早く基本を抑えることができる。

同様に初心者も構造体とポインタの単純な使い方を後まで
避け続けるわけがないんだから、それなら遠慮なく使われていたほうが、
C入門書にはない実用的な使い方の例を示すことにもなって理解を助ける。

251:名前は開発中のものです。
12/06/21 22:20:41.47 Vc98TddL
初心者なんて誰でも最初はそうで、
でも長い開発の経験の中では、全体の何割もない期間の話で、
そもそも向かない人はやめてくだけだから、
そんな丁重に扱わなくてもいいと思うが。好きな人は自分で勝手に歩くし

252:名前は開発中のものです。
12/06/21 22:26:25.13 HvQGDDgW
見え見えの自演だな

253:名前は開発中のものです。
12/06/21 22:27:47.18 uXee4OgN
正直DXライブラリ使ってるならポインタなんてセーブデータくらいしか…

254:名前は開発中のものです。
12/06/21 22:32:36.24 NB/uR81n
>>247
>何でこのスレはこんなに煽り耐性が低いと思う?
負け犬の馴れ合いを求めてるんだろう。
「自分馬鹿だから全然わかんねーしw」
「俺も馬鹿で初心者だから気にすんなw ずっと馬鹿でいようぜwww」
……みたいな空気で、嫉妬深く程度の低さを共有したがる
永遠の初心者はどこにでもいる。

で、嫉妬心で攻撃してみたものの、軽く返り討ちにあってしまった結果、
恨み亡霊となってねちねちと一行悪口を言ってるのが連中の才能の限界。

255:名前は開発中のものです。
12/06/21 22:37:45.24 WLRtXJzk
>>244
あれはDXライブラリスレとしてはスレ違いだったかもしれないが、それなりに有意義な部分もあった

256:名前は開発中のものです。
12/06/21 22:40:04.16 Vc98TddL
ところで、ここは ゲーム製作技術板の DXLib スレだと聞いて
来てみた俺がいます


257:名前は開発中のものです。
12/06/21 22:40:52.25 ajj/kpkL
ワナビか

つーかDXライブラリっての使えばtypedef知らなくてもゲーム作れるってマジかよ??

258:名前は開発中のものです。
12/06/21 22:44:06.78 WLRtXJzk
そもそもC++だとtypedefを使う機会があんまり…

259:名前は開発中のものです。
12/06/21 22:44:29.19 kFhUqkhX
ああ、これが自己投影というものか。

260:名前は開発中のものです。
12/06/21 22:53:27.83 Vc98TddL
>>258
いやあるけど


261:名前は開発中のものです。
12/06/21 22:58:23.01 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:名前は開発中のものです。
12/06/21 23:04:21.51 HvQGDDgW
11だとautoが入ったな

263:名前は開発中のものです。
12/06/21 23:08:09.09 Vc98TddL
>>262
C++11はちゃんと調べて無いんだが、あれって型推論的なものと聞いたが
C++でダックタイプってのもどうなのよってのはあるが

264:名前は開発中のものです。
12/06/21 23:09:04.98 NB/uR81n
std::vactor<T>とかテンプレートクラスに
typedef使うのは常套テクニックだな。

代わりに継承を使う場合もあるかもしれんが。

265:名前は開発中のものです。
12/06/21 23:15:27.20 HvQGDDgW
俺も詳しく見てないけど
使う感覚にしちゃテンプレートとかポインタと指して変わらんと思う
便利なら使うってのでいいんじゃね
さっきの例で使うならiteratoのところ宣言する面倒無くなるし

266:名前は開発中のものです。
12/06/21 23:25:16.97 Vc98TddL
>>265
あぁそうか… コンパイラがポインタの先のテーブル見に行って推論みたいな、そんな感じなのかな
その意味で言うと、イテレータに限らないが、なんでも省略可能になっちゃったりするんだろうか
Perlみたいな… って想像したくないんだが。

>>264
テクニックって言うか、単純に見づらくなるからってのと、
あとコンパイル時解決と実行時解決の使い分け次第じゃね

他だと、関数ポインタを引数に取るコールバックだとか、それに類する所で boost::function とか
まして boost::function なんて、マルチスレッドコード書くときお世話になりまくる。
関数のシグネチャを毎回書くのは保守性の観点からもアレだから、やっぱりこの辺も typedefするのが普通。
無かったら C++ 辛いになってしまう。

267:名前は開発中のものです。
12/06/21 23:41:52.16 Vc98TddL
あとあれだ、DirectX絡みでいうと、DXLibの範疇だと用がないかもしれないが、
頂点バッファにカスタムFVFで頂点定義する時、定数渡して定義固定化したバッファのクラスや構造体作るときに、
テンプレート化してさらにtypedefして使ったりする。俺の場合だけど

268:名前は開発中のものです。
12/06/21 23:52:31.07 PJsHcyOi
>>224
>リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。
ハンドルより、定数が全部int型で定義されてる方が気になるなあ。
例えば、SetDrawBlendMode() の第一引数とか列挙型で定義しといて欲しい。


269:名前は開発中のものです。
12/06/21 23:56:46.30 MRBLh9lt
ハンドルとか別にintでもなんでもいいんだけどさぁ、
せめてモードとかタイプとかの指定にはenumを使って欲しい
非公開の関数だとヘッダ見ても何を指定すればいいのかわからない時があるんだよなぁ…

270:名前は開発中のものです。
12/06/22 00:08:54.64 iI1PSMpU
>>261
……あ、毎度書いてた

271:名前は開発中のものです。
12/06/22 00:40:34.47 vVJJHNCt
ハンドルがtypedefだと間違った変数渡しても勝手に変換されるから意味ないでしょ
structにしとくとコンパイル時にエラー出るから便利だよ

272:名前は開発中のものです。
12/06/22 01:04:31.28 qZxxS3ym
関数に変数を指定してPlaySoundMemで使いたいんですが、これをどうすればいいでしょうか?
具体的には、se_play関数の引数に変数名を入れて他から指定番号のSEを呼び出せるようにしたいのです
void se_play(char se_number){
PlaySoundMem(se_number,DX_PLAYTYPE_BACK);
}

273:名前は開発中のものです。
12/06/22 04:14:09.11 /rEqvofv
vc++2008でDXライブラリ使ってたらインターネットブラウザがすごく重くなったんですが
これがメモリリークというやつですか?
LoadGraph関数のリファレンス読んだんですがサンプルではfree()関数で開放はしていません。
自動的に開放されるというわけではないんですか?


274:名前は開発中のものです。
12/06/22 04:16:48.36 vVJJHNCt
自動的に開放はされない
DxLib_End呼んで終了するかDeleteGraph使わないと開放されない

275:名前は開発中のものです。
12/06/22 07:02:09.99 uPLkt+w2
まだやってたのか
自分を客観的に見れない馬鹿はどうしようもないな

276:名前は開発中のものです。
12/06/22 13:03:14.63 l51oT9C4
DrawGraphとかPlaySoundMemってポインタ使えないの?

277:名前は開発中のものです。
12/06/22 13:06:54.58 uPLkt+w2
どういうことだろう
ポインタから実体の値を呼び出すには*hogeとすればいいけど

278:名前は開発中のものです。
12/06/22 14:33:18.57 l51oT9C4
使えるのかありがと

279:名前は開発中のものです。
12/06/22 14:33:31.71 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
12/06/22 15:09:59.09 l51oT9C4
>>279
そんなやり方があるんですか、どうも!
DXライブラリを更に省略したくて作ってたんです

281:名前は開発中のものです。
12/06/22 15:10:55.86 l51oT9C4
初めてip被った…

282:名前は開発中のものです。
12/06/22 15:37:10.00 rmxXQg9H
DxLibModelViewerでメタセコのモデル読み込んだらテクスチャが真っ白になっちゃうんだけど解決法ない?
前に一回だけちゃんと表示されたけど条件が分からん…これじゃMV1が使えない
一応ファイルの場所はあってるんだけど

283:名前は開発中のものです。
12/06/22 16:08:23.44 9VY+vhBh
>>282
パスに空白や日本語とか
よくあるそれ系の話とか


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch