トップページgamedev
996コメント293KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2011/08/18(木) 17:18:15.54ID:vXmrN4yD
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/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
0135名前は開発中のものです。2011/08/26(金) 13:41:24.01ID:fnRCOkx6
どうやって宣伝するかの話になるから一筋縄ではいかない問題だな
0136名前は開発中のものです。2011/08/26(金) 13:55:01.38ID:zU9uahDS
>>134
テレビCM
0137名前は開発中のものです。2011/08/26(金) 16:54:57.79ID:Er6UBVi7
公式ページに宣伝する場所あるけど、そこの数見るとやはりグラフィックじゃないか
・・・あそこ東方多いなー
0138名前は開発中のものです。2011/08/26(金) 22:58:00.36ID:4m9giPLQ
>>110
doubleとintじゃメモリ長違うからな(double-8バイト、int-4バイト)
代入の時に(int)のようなキャスト文を記述するのがプログラムの基本だと思うけど
自動キャストにあまり期待しないほうがいいのでは
0139名前は開発中のものです。2011/08/27(土) 05:50:17.26ID:btZbEZqZ
久しぶりにライブラリ更新したら、フォントサイズがのきなみデカくなってしまった。
3.05aの時にフォントが小さくなる不具合が修正されたとあったので、
この不具合を受けていたんだろうな。
0140名前は開発中のものです。2011/08/28(日) 01:38:40.08ID:AIw4LN7/
画像の透明度が上手く反映されない
マジ糞
0141名前は開発中のものです。2011/08/28(日) 01:50:59.35ID:uYFEtNkY
お前の技術が糞なだけ
0142名前は開発中のものです。2011/08/30(火) 00:57:40.02ID:dYGP1w70
DXいじり始めて少したった今、始めたばかりの頃のコードが糞すぎることに
気付いて直したいんだけど、これを直すとかなりの部分を直さなければならなくなる

どうしようか悩みどころだ
0143名前は開発中のものです。2011/08/30(火) 01:06:28.73ID:bp0SD/cw
何か完成目標があるのなら必要な部分だけ直しつつ進めることを勧める
そんなに大作志向のものでは無いのなら、適当に区切りをつけて終了するのがいいかもしれない
0144名前は開発中のものです。2011/08/30(火) 01:55:16.10ID:tq3YpvUy
進めば進むほど直したくなる部分が増えるから問題が起こらないのであれば触らないほうがいい
糞すぎてもいいからそのまま完成させ、その答えは次回作る時に回す
0145名前は開発中のものです。2011/08/30(火) 01:58:10.42ID:xRSeBrvk
ネームスペースを分けて併用する
古いコードは触らず、新しく書く部分は新しいライブラリを使う
0146名前は開発中のものです。2011/08/30(火) 04:01:10.54ID:9FnnhPv8
そういうことに走り出したら完成しない
0147名前は開発中のものです。2011/08/30(火) 15:15:28.85ID:dYGP1w70
結構根本的なところが適当に作っちゃってたからな、本当に反省ものだわ〜
そもそも一つ実装するのに複数同じコード書かなきゃいけないのは、エレガントじゃなかった
始めた頃は、同じの書くだけか、とか思ってたんだが

意気込んで色々作ったから、結構大作にする予定だったけど
今回は、ある程度区切りがついたら終了しないにしても、次の作品に取りかかろうと思う
0148名前は開発中のものです。2011/08/30(火) 15:23:57.82ID:heBciR2p
>>146に同意だが、根本となると後々不便になること多いからねぇ
0149名前は開発中のものです。2011/08/30(火) 15:26:34.28ID:d7imXqz6
>>147
素材を流用して次を大作にすればいいのさ
0150名前は開発中のものです。2011/08/30(火) 15:29:14.00ID:YRKVbKQ0
俺も同じようなケースに陥ったが新しくフレームワーク書いてその上に全部移植したよ
0151名前は開発中のものです。2011/08/30(火) 20:57:25.09ID:uDbZ2MEH
綺麗なブラー(リニア&放射)かけてみたいんだけど、シェーダを勉強するしかないかな。
2Dゲーム前提で、今作ってるゲームが完成するまでは、あんまり勉強に時間を割けられない。
0152名前は開発中のものです。2011/08/30(火) 21:01:51.66ID:YRKVbKQ0
シェーダよりは重くなるが、描画可能画像に全ての画像を書き込んだ後、
その画像を半透明にずらしながら数枚置けばそういうことが出来る
軽くやりたいならシェーダを学べばいい
0153名前は開発中のものです。2011/08/30(火) 21:15:37.01ID:gvz6W4Cu
加算合成のブラーならシェーダ使わず軽めに綺麗にできるんだけどなー
別の描画可能テクスチャにブラー掛けたいものを加算描画して、毎フレームクリアせずに減算で少しだけ全体を暗くする
そのテクスチャを画面に加算で合成すればおk
0154名前は開発中のものです。2011/08/30(火) 22:09:15.00ID:bDw8yGHB
>>142
オレは最初の勉強しながら書いた糞コードは途中で全部書き直した。
コードも短くなって綺麗になり、バグも直ったよ。
直しとけ
0155名前は開発中のものです。2011/08/30(火) 22:10:19.14ID:2nPfiAyT
そしてコード直しの無限ループに陥っていつまでたっても完成しないんですね
分かります
0156名前は開発中のものです。2011/08/30(火) 23:48:45.32ID:uDbZ2MEH
ありがとう。

>>152
ピンポイントで使う分には力技もアリっちゃありか

>>153
それ面白いな
0157名前は開発中のものです。2011/09/01(木) 00:19:30.76ID:d4ENLr57
素材作りが面倒くさすぎる
特に選択画面とかメニュー周りのレイアウト考えて作るの嫌だわ
0158名前は開発中のものです。2011/09/01(木) 00:20:51.61ID:4jMoOptS
慣れだ
0159名前は開発中のものです。2011/09/01(木) 00:43:11.59ID:m+HtDpTs
どっかのニュースでGoogle+風のアイコンやUIのフリー素材とかあったからそういうの使えばいいんじゃね
0160名前は開発中のものです。2011/09/01(木) 01:14:25.00ID:n1HPhJGE
スクロールとかめんどいよね
0161名前は開発中のものです。2011/09/01(木) 01:52:07.28ID:f0r0b674
レイアウトは色んなゲームからパクればいいよ
どうせどれも似たようなもんだ
0162名前は開発中のものです。2011/09/02(金) 21:26:41.41ID:iRfojymH
編成画面、一発でビルド成功した
夢精しちゃった
0163名前は開発中のものです。2011/09/02(金) 21:29:21.25ID:S5AdhhfU
夢落ちかw
0164名前は開発中のものです。2011/09/02(金) 21:51:54.23ID:TqRuKmu/
夢精吹いたwww
0165名前は開発中のものです。2011/09/04(日) 17:57:58.28ID:CLWIhWsZ
初心者的質問ですまないがMV1LoadModelFromMemってどういう使い方すればいいんだ?
メモリに読み込んでも展開する時のロード時間がMV1LoadModelとほとんど変わらない
マルチスレッドによるローディングのお供かと思ったがやっぱり他と競合するからなぁ
0166名前は開発中のものです。2011/09/04(日) 18:23:24.33ID:R9jedfSL
使ったことないから適当抜かすけど、
メモリ上に読み込んで編集したものを読み込んで使ったりするんじゃないの。
0167名前は開発中のものです。2011/09/04(日) 18:28:01.69ID:VYFDdoqV
メタセコのモデルデータとかテキスト形式だしなー
でも実際はメモリからファイルとして読み込む関数はただひと通り用意してあるだけなんじゃないの?
独自アーカイブとか使いたい人居るでしょ
0168名前は開発中のものです。2011/09/04(日) 18:34:14.15ID:zZOKw97r
暗号化とか考えだすとまずファイル名指定系は使えなくなる
0169名前は開発中のものです。2011/09/04(日) 19:10:16.22ID:Qw7jUkGk
データを予め圧縮しておいてそれをメモリに展開してから読み込む
〜FromMem関係はだいたいそんな使い方をしてる
0170名前は開発中のものです。2011/09/04(日) 20:53:06.84ID:CLWIhWsZ
ありがとう、自分には当分縁がない機能だということは分かった
メモリをいじくって管理できる人はすごいなぁ
0171名前は開発中のものです。2011/09/04(日) 20:54:20.65ID:EQP0Z6gU
DXライブラリとは関係ない話題ですみませんが、
皆さんはバージョン管理ってどうされてますか?
自分はバージョン管理ツールとか使えないので、テキストにコピーして日付とコメント入れてますw
0172名前は開発中のものです。2011/09/04(日) 21:11:47.14ID:ZY2yQa2r
世の中には、雑談スレとか質問スレってのがあるんだけどな。

自分は最近Dropboxを導入したので、そっちに任せてる。
勝手に履歴も取ってくれるし。
0173名前は開発中のものです。2011/09/05(月) 00:30:50.09ID:fAUkDatV
Dropbox転送速度おせぇ…容量2GBしかないじゃん
0174名前は開発中のものです。2011/09/05(月) 00:41:25.19ID:fLF3yH4J
バックアップ目的なら、最低限ソースファイルのディレクトリだけ同期すればいいじゃない
0175名前は開発中のものです。2011/09/05(月) 00:45:10.79ID:fAUkDatV
>>174
ごめん、訂正します
すげぇ便利、うんこ漏れた
0176名前は開発中のものです。2011/09/05(月) 07:52:02.52ID:fLF3yH4J
別の物dropすんなw
0177名前は開発中のものです。2011/09/05(月) 11:38:05.84ID:4jVVMGID
夏休み終わったら驚くほど平和なスレになったなぁ
0178名前は開発中のものです。2011/09/05(月) 11:49:13.37ID:DmS7yr3b
ほんと、びっくりだよ
0179名前は開発中のものです。2011/09/05(月) 11:59:09.99ID:8uz1Lmc0
夏休みって勢いだけで開発したくなるもんだからな
夏休み終わったら開発メンバーが夢から覚めていなくなっていくもんだ
0180名前は開発中のものです。2011/09/05(月) 13:22:53.50ID:DmS7yr3b
あるあるw

というか夏休み中盤あたり(と思われる時期)から荒らしの勢いが弱くなったよな
つまり、その頃から避けがたい現実の壁に直面し始めたってことかw
0181名前は開発中のものです。2011/09/06(火) 01:55:20.57ID:X8PlHriw
まだ夏休みなんだけど
0182名前は開発中のものです。2011/09/06(火) 02:02:51.64ID:HZS2vrcD
大学生は夏休みだろうな

夏厨の大半はリア厨リア工だろ
厨工は既に夏休み終わってる
0183名前は開発中のものです。2011/09/06(火) 04:23:35.05ID:2fFA1rLA
俺数年間夏休みのまんまなんだけど
0184名前は開発中のものです。2011/09/06(火) 04:42:24.88ID:B5zPYdVD
四季ないの?
0185名前は開発中のものです。2011/09/06(火) 11:56:12.00ID:X8PlHriw
確かに俺は大学生だが、就活する気ないしそもそも間違えた大学いってしまった
卒業した後何しようか
0186名前は開発中のものです。2011/09/06(火) 12:24:46.00ID:qrSbSQ+b
>>185
上海アリスに対抗してムンバイアリスプロジェクトでも立ち上げろ!
0187名前は開発中のものです。2011/09/06(火) 13:51:54.57ID:slT4WD5J
>>185
別の大学に入学
0188名前は開発中のものです。2011/09/06(火) 15:28:17.00ID:t7+cugkd
>>170
何が凄いの?当たり前の事じゃないのか?
C/C++言語をやる以上メモリ管理とかメモリの仕組みを理解するのは常識でしょ
ファイルアクセスはテキストだけか、バイナリデータをどう扱うんだよ
何のためにポインタを勉強するのだかレベル低すぎだ
0189名前は開発中のものです。2011/09/06(火) 15:46:37.61ID:0biVE3lT
差詰め、ポスト夏厨ってところか
0190名前は開発中のものです。2011/09/06(火) 16:26:20.59ID:XcCeAR+W
テキスト扱えたらいろいろできますけど
0191名前は開発中のものです。2011/09/06(火) 23:54:33.43ID:ZuzK3VMO
>>188がレベル高すぎて吹いた、俺の常識では理解できん
0192名前は開発中のものです。2011/09/07(水) 00:56:03.87ID:BQag29pv
>>191
確かに常識を大きく逸脱してるよなw
0193名前は開発中のものです。2011/09/07(水) 01:23:14.46ID:vb1z8o7v
ポインタで勉強したことは、関数でも変数でもなんでもメモリに値が割り振られるってことだけだった
ポインタはそのアドレスの番号ってだけだった

そして、それ以上でもそれ以下でもなかった
0194名前は開発中のものです。2011/09/07(水) 01:24:57.54ID:c/3+nxnP
>>191-192
>>188の言い方は悪いが言ってることは事実だよ。
なんとなく抵抗あるんだろうけど、諦めずに挑戦してみれば捗るぞって言いたいだけだと思う。
0195名前は開発中のものです。2011/09/07(水) 03:14:49.53ID:BQag29pv
>>194
いや、事実がどうとかそんな難しい話が出てるわけじゃないから・・・
プログラム言語の最低限の常識は持ってるみたいだけど、日本語の常識は無いみたいね、ってこと
0196名前は開発中のものです。2011/09/07(水) 06:27:51.95ID:s2aSkpi1
メモリという言葉に過剰反応して
墓穴を掘った人がいると聞いて
飛んできました
0197名前は開発中のものです。2011/09/07(水) 06:30:17.27ID:eKhAKT8o
夏に湧いてた語りたがりや子供と同じ匂いがする
0198名前は開発中のものです。2011/09/07(水) 12:25:42.42ID:zy+rpXSE
>>188
残暑お悔やみ申し上げます
0199名前は開発中のものです。2011/09/07(水) 19:30:19.42ID:vJmg/j4c
なんだろう、こうして全体を眺めていると>193が光って見える
0200名前は開発中のものです。2011/09/07(水) 20:30:19.23ID:hL5E/old
コンパイル時までは型情報もあるから正しくは無いな
0201名前は開発中のものです。2011/09/07(水) 21:13:45.85ID:zy+rpXSE
(ドヤッ
0202名前は開発中のものです。2011/09/07(水) 21:14:54.16ID:DhZ0fzDh
フフーフ
0203名前は開発中のものです。2011/09/07(水) 23:06:44.02ID:xPoemCkm
>>193が最もハゲってことだろ・・・
0204名前は開発中のものです。2011/09/08(木) 00:24:36.95ID:AWvxx1rh
実際ポインタなんて関数ポインタと構造体配列にしか使わなくね?
しかも構造体の構造体にはポインタ使えないから、ゲーム制作でそこまで重要とは思えない

実際にメモリのアドレスとか意識して使う場面なんてないでしょ
0205名前は開発中のものです。2011/09/08(木) 00:34:57.58ID:SRigVOB4
メモリのアドレスを意識して使う場面は無いがポインタを使う場面なら腐るほどあるぞ
ユニット同士の参照持たせたり、シーンやアクターへの参照持たせたり
スマポならアクターや敵・弾・エフェクトの実体をスマポのコンテナに入れる(ポリモーフィズム)
シーンもシーンのスーパークラス継承して実装するだろうし
0206名前は開発中のものです。2011/09/08(木) 00:42:06.59ID:n04TG+5l
正直俺のコードはポインタまみれ

可読性は悪いのかも知らんが、自分一人で作る場合にはポインタ上手く使った方が保守性が高まるのよね
0207名前は開発中のものです。2011/09/08(木) 00:44:07.74ID:ZN1xKuWx
というか一つ一つを切り離した保守性の高いコードを書こうと思ったらポインタ使うしか無いだけだろ
0208名前は開発中のものです。2011/09/08(木) 00:53:24.77ID:O8ZONPcy
ポインタやC++の機能は、使うと便利で効率的だけど、使わなくてもそこそこの物が作れる。
同人STGサークルで最高峰の一つと言っていいBLUE&WHITEの作品なんて、
旧来のBASICとほぼ同じ仕様の言語(構造体すら無い)で作られてるんだぜ・・・

メモリ管理やポインタやクラスの活用が重要なのは確か。
でも、「それを知らなきゃ駄目、何もできない」みたいに言ってしまうと反感を買うんだろうな。
0209名前は開発中のものです。2011/09/08(木) 01:04:59.02ID:Ov0oDZDi
動的確保禁止の仕事もあるからな
0210名前は開発中のものです。2011/09/08(木) 01:13:35.04ID:dEoLRrf6
fortranはfortran90までポインタ無かったが
アポロ11号の月着陸船を制御したらしい。
0211名前は開発中のものです。2011/09/08(木) 02:09:21.00ID:4M9G4VOj
LTCG有効にしてライブラリ作り直したらリンクに10分以上かかるようになったというチラ裏
0212名前は開発中のものです。2011/09/08(木) 02:45:10.55ID:doHxDHsJ
俺は可読性こそ命だと思うな
おかげで半年以上開いてないプロジェクトすぐ理解できたわ
0213名前は開発中のものです。2011/09/08(木) 02:50:51.27ID:XrYAZCzA
本人が読むなら、普通に組んでりゃ時間たっても普通に理解できると思うけど・・・
0214名前は開発中のものです。2011/09/08(木) 02:53:35.18ID:AWvxx1rh
ポインタは可読性はあまり良くないな
やたらカッコ増えるし、正直使うべきだとは分かっていても少し気が引けてしまう
0215名前は開発中のものです。2011/09/08(木) 02:57:15.18ID:XrYAZCzA
ポインタで括弧が増える状況がいまいち想像つかん
値をインクリメントする場合くらいしか思いつかないんだが
0216名前は開発中のものです。2011/09/08(木) 03:11:23.54ID:n04TG+5l
カッコってまさか
*(hogehoge->hoge)
みたいな書き方してるとか?
0217名前は開発中のものです。2011/09/08(木) 05:26:21.46ID:doHxDHsJ
久しぶりに掲示板みたらこんなスレ立ってた

ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2389
0218名前は開発中のものです。2011/09/08(木) 06:47:16.66ID:ER2QaU5m
DXライブラリのすごい所は、普通のライブラリにある「ポインタを使わされる」場面がほとんどないことだよな
他のライブラリ見てるとポインタだらけだ

おかげで自作プログラムじゃ>>204の用途にしか使ってない
0219名前は開発中のものです。2011/09/08(木) 10:06:14.26ID:WTgUh+ln
>>214
ポインタ使った方が可読性良くなると思うが
関数間での二つ以上の値の受け渡しどうしてんの?いちいち構造体の値渡し使ってるの?
0220名前は開発中のものです。2011/09/08(木) 10:10:45.57ID:SFhUhwei
全部グローバル変数なんだろう
0221名前は開発中のものです。2011/09/08(木) 10:14:14.91ID:lrhJNF88
クラス化してるから、各関数の引数としては出てこないとか
0222名前は開発中のものです。2011/09/08(木) 11:02:29.93ID:WTgUh+ln
>>220
可読性低下してんじゃん
それとも全てのグローバル変数の用途を一年別のコード弄ってても忘れないくらい記憶力いいのか

>>221
クラス使うならクラス使うでポインタ使わずにインスタンスの受け渡しどうすんの
0223名前は開発中のものです。2011/09/08(木) 11:44:46.65ID:oQa+3H/M
ポインタ使った方が可読性は高まると思う

あとC++の場合、クラス使ってカプセル化するならむしろポインタ必須だろ
>>222も書いてるけど
0224名前は開発中のものです。2011/09/08(木) 11:58:51.52ID:AWvxx1rh
>>219
時と場合によるけど、俺はその関数で何回も使う場合は普通にポインタ使ってるよ
ちょっと使いたいだけの場合は、構造体の型で関数作る。関数の引数増やすとちょっときたないし

>>216
いや、配列でhogehoge[n].hogeを(hogehoge+n)->hogeって書くとなんか見にくくなった気がする
2次元配列ならなおさら


0225名前は開発中のものです。2011/09/08(木) 12:07:13.55ID:WTgUh+ln
>>224
いやわざわざ配列をポインタに直す必要なんて全く無いだろ……
0226名前は開発中のものです。2011/09/08(木) 12:16:11.24ID:oQa+3H/M
仮に必要がある場合でも、俺はローカルで
HOGE *hage = &(hogehoge+n)->hoge;
で置き換えてしまうかな
まあコードの内容にもよるけど、見にくくなるくらい登場頻度が高いならね
0227名前は開発中のものです。2011/09/08(木) 15:14:48.19ID:95fOK7F6
どうせポインタの使い方が分かってないのなら先にjavaやC#でのポインタレスプログラミングを勉強した方が
CやC++で組むときにもきれいで安全なコードに落ち着く気がする
まぁリファレンス使うのにポインタ使うのと同じ知識は必要だけどね
0228名前は開発中のものです。2011/09/08(木) 16:20:53.63ID:qZ9zRe2f
どう学習するのがいいんだろうねー
ポインタレスでメモリ空間の感覚が身に付くかなあ

まあいきなりポインタ使おうとしたら危険があるってのは間違いないけど
0229名前は開発中のものです。2011/09/08(木) 16:48:34.53ID:ER2QaU5m
メモリ操作の感覚が掴めてから本当にポインタが理解できるようになるんだろ
それに、ポインタとかは勉強しようと思って学んでも全然わからない

普通にプログラム組んでれば、いつかどうしてもポインタが必要な状況がくる
そうしたら電球ぴっかんこしてすんなり理解できるようになるから、それまでは無理に身につけようとしなくてもいいよ
0230名前は開発中のものです。2011/09/08(木) 17:03:04.88ID:Zn0gmw5p
メモリ空間とか意識すべきじゃないってのが昨今の考え方だからな
メモリ管理なんてほとんどの言語ではガベコレ任せでOKだし
C++では低レベル層以外では生ポインタもnewも禁止って規約作ってるところもある
0231名前は開発中のものです。2011/09/08(木) 17:57:56.34ID:qZ9zRe2f
ゲーム作るならガベコレ任せじゃなあ
ガベコレのタイミングと割り当てる時間まで全部制御できるならいいけど
0232名前は開発中のものです。2011/09/08(木) 18:48:46.19ID:AWvxx1rh
ゲームプログラミングの館で紹介されてるようなポインタの使い方以外に
どんな使い方が主流だったりするの?
0233名前は開発中のものです。2011/09/08(木) 18:52:34.06ID:BQSrwOkb
自分の無能をドヤ顔で語られてもな
0234名前は開発中のものです。2011/09/08(木) 18:56:46.84ID:ER2QaU5m
ゲームプログラミングの館は最近みてないからわからないが、
俺の場合は頻繁にソートしなくちゃいけない構造体の配列とかをポインタにすることでメモリコピー量を軽減して高速にソートできたり、
オブジェクトから別オブジェクトの状態を監視するために使ったりする

例えば、STGで敵が倒したらその敵が出した弾だけ消したい場合、
弾に自分を出した敵オブジェクトへのポインタを持たせといて、HPが0になったりしたのをチェックさせたりとかできる
■ このスレッドは過去ログ倉庫に格納されています