DXライブラリ 総合スレッド その10
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2011/08/18(木) 17:18:15.54ID:vXmrN4yDGUIのゲームを比較的容易に作成する事を可能にする、
「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/
0195名前は開発中のものです。
2011/09/07(水) 03:14:49.53ID:BQag29pvいや、事実がどうとかそんな難しい話が出てるわけじゃないから・・・
プログラム言語の最低限の常識は持ってるみたいだけど、日本語の常識は無いみたいね、ってこと
0196名前は開発中のものです。
2011/09/07(水) 06:27:51.95ID:s2aSkpi1墓穴を掘った人がいると聞いて
飛んできました
0197名前は開発中のものです。
2011/09/07(水) 06:30:17.27ID:eKhAKT8o0198名前は開発中のものです。
2011/09/07(水) 12:25:42.42ID:zy+rpXSE残暑お悔やみ申し上げます
0199名前は開発中のものです。
2011/09/07(水) 19:30:19.42ID:vJmg/j4c0200名前は開発中のものです。
2011/09/07(水) 20:30:19.23ID:hL5E/old0201名前は開発中のものです。
2011/09/07(水) 21:13:45.85ID:zy+rpXSE0202名前は開発中のものです。
2011/09/07(水) 21:14:54.16ID:DhZ0fzDh0203名前は開発中のものです。
2011/09/07(水) 23:06:44.02ID:xPoemCkm0204名前は開発中のものです。
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:ZN1xKuWx0208名前は開発中のものです。
2011/09/08(木) 00:53:24.77ID:O8ZONPcy同人STGサークルで最高峰の一つと言っていいBLUE&WHITEの作品なんて、
旧来のBASICとほぼ同じ仕様の言語(構造体すら無い)で作られてるんだぜ・・・
メモリ管理やポインタやクラスの活用が重要なのは確か。
でも、「それを知らなきゃ駄目、何もできない」みたいに言ってしまうと反感を買うんだろうな。
0209名前は開発中のものです。
2011/09/08(木) 01:04:59.02ID:Ov0oDZDi0210名前は開発中のものです。
2011/09/08(木) 01:13:35.04ID:dEoLRrf6アポロ11号の月着陸船を制御したらしい。
0211名前は開発中のものです。
2011/09/08(木) 02:09:21.00ID:4M9G4VOj0212名前は開発中のものです。
2011/09/08(木) 02:45:10.55ID:doHxDHsJおかげで半年以上開いてないプロジェクトすぐ理解できたわ
0213名前は開発中のものです。
2011/09/08(木) 02:50:51.27ID:XrYAZCzA0214名前は開発中のものです。
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:doHxDHsJttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2389
0218名前は開発中のものです。
2011/09/08(木) 06:47:16.66ID:ER2QaU5m他のライブラリ見てるとポインタだらけだ
おかげで自作プログラムじゃ>>204の用途にしか使ってない
0219名前は開発中のものです。
2011/09/08(木) 10:06:14.26ID:WTgUh+lnポインタ使った方が可読性良くなると思うが
関数間での二つ以上の値の受け渡しどうしてんの?いちいち構造体の値渡し使ってるの?
0220名前は開発中のものです。
2011/09/08(木) 10:10:45.57ID:SFhUhwei0221名前は開発中のものです。
2011/09/08(木) 10:14:14.91ID:lrhJNF880222名前は開発中のものです。
2011/09/08(木) 11:02:29.93ID:WTgUh+ln可読性低下してんじゃん
それとも全てのグローバル変数の用途を一年別のコード弄ってても忘れないくらい記憶力いいのか
>>221
クラス使うならクラス使うでポインタ使わずにインスタンスの受け渡しどうすんの
0223名前は開発中のものです。
2011/09/08(木) 11:44:46.65ID:oQa+3H/MあとC++の場合、クラス使ってカプセル化するならむしろポインタ必須だろ
>>222も書いてるけど
0224名前は開発中のものです。
2011/09/08(木) 11:58:51.52ID:AWvxx1rh時と場合によるけど、俺はその関数で何回も使う場合は普通にポインタ使ってるよ
ちょっと使いたいだけの場合は、構造体の型で関数作る。関数の引数増やすとちょっときたないし
>>216
いや、配列でhogehoge[n].hogeを(hogehoge+n)->hogeって書くとなんか見にくくなった気がする
2次元配列ならなおさら
0225名前は開発中のものです。
2011/09/08(木) 12:07:13.55ID:WTgUh+lnいやわざわざ配列をポインタに直す必要なんて全く無いだろ……
0226名前は開発中のものです。
2011/09/08(木) 12:16:11.24ID:oQa+3H/MHOGE *hage = &(hogehoge+n)->hoge;
で置き換えてしまうかな
まあコードの内容にもよるけど、見にくくなるくらい登場頻度が高いならね
0227名前は開発中のものです。
2011/09/08(木) 15:14:48.19ID:95fOK7F6Cや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:BQSrwOkb0234名前は開発中のものです。
2011/09/08(木) 18:56:46.84ID:ER2QaU5m俺の場合は頻繁にソートしなくちゃいけない構造体の配列とかをポインタにすることでメモリコピー量を軽減して高速にソートできたり、
オブジェクトから別オブジェクトの状態を監視するために使ったりする
例えば、STGで敵が倒したらその敵が出した弾だけ消したい場合、
弾に自分を出した敵オブジェクトへのポインタを持たせといて、HPが0になったりしたのをチェックさせたりとかできる
0235名前は開発中のものです。
2011/09/08(木) 18:57:34.76ID:ER2QaU5mSTGで敵を ね
0236名前は開発中のものです。
2011/09/08(木) 19:29:18.17ID:qZ9zRe2fSTGだったら敵の耐久値や得点を格納した構造体やクラスとか
敵インスタンスのそれぞれには値を持たせないでゲームデータを指させる
用途は色々だけど、スマートに組もうと思ったらポインタが出てくることが多い気がする
0237名前は開発中のものです。
2011/09/08(木) 20:05:29.41ID:lrhJNF88失敬、あらかじめ別の場所で指定してるから、
実際の昨日呼び出しとしての関数にはポインタが出てこないのかも、というジョークのつもりだった
0238名前は開発中のものです。
2011/09/08(木) 23:40:01.91ID:iztd+bJu0239名前は開発中のものです。
2011/09/08(木) 23:59:50.88ID:9xOrhu1g>>224みたいな発想ってポインタを配列の添字替わりに使うっていうお決まりのサンプルが原因だろうし
C++みたいにクラスのインスタンスアドレスの格納用ってところから入ったほうが実用的で分かりやすい
0240名前は開発中のものです。
2011/09/09(金) 00:32:33.59ID:3xnCMl6bあれじゃ使い道分からんよなあ
俺も最初は「で?っていう」状態だったぞ
0241名前は開発中のものです。
2011/09/09(金) 00:40:25.04ID:WMxbyvxFむしろ配列アクセスがポインタ演算の省略記法だって知った時驚いたよ。そして確かにそうだなとも思った
0242名前は開発中のものです。
2011/09/09(金) 00:50:17.52ID:n/GIxaX20243名前は開発中のものです。
2011/09/09(金) 01:11:39.93ID:ao0aDTdPCall by referenceにしかできないとか、
二次元配列を、ポインタをインクリメントするだけで
舐めてしまえるとか、
Cをアセンブリにいかに簡単に落とし込みやすくできるか。
アセンブリの性質がもろに出てるんですよね。
0244名前は開発中のものです。
2011/09/09(金) 01:36:03.31ID:8Qyc1Xec何それ、kwsk
俺も同じ道を辿りたい
0245名前は開発中のものです。
2011/09/09(金) 03:05:21.84ID:jsjA4VTZdxライブラリを使うとdirectxをインストールしなくても
directxで開発できてしまうんだな
ありがたい
簡単にサンプルをビルド実行できた
0246名前は開発中のものです。
2011/09/09(金) 04:03:49.72ID:YyzrgMlkDirectX SDKのこと言ってるのかな
0247名前は開発中のものです。
2011/09/09(金) 06:29:13.86ID:2WBzxpbSexpress editionでよければ無料で使える
0248名前は開発中のものです。
2011/09/09(金) 06:45:53.59ID:ik422DJIより高機能で複雑化してるから、道具に使われてる感はしちゃうけど、
IntelliSenseがかなり賢くなってるから、それだけでも導入の価値はあるぜ。
0249名前は開発中のものです。
2011/09/09(金) 08:02:12.33ID:GccrOwfB0250名前は開発中のものです。
2011/09/09(金) 08:26:26.37ID:YyzrgMlkググれ
ポインタの難しさから勉強してこい
そこまで面倒みきれん
0251名前は開発中のものです。
2011/09/09(金) 08:44:10.52ID:HI1B7qUa0252名前は開発中のものです。
2011/09/09(金) 12:29:00.96ID:zjvixVHUポインタなんて難しいことは全くない
難しく感じるのは、教本が悪くて用途が分からないからってだけ
0253名前は開発中のものです。
2011/09/09(金) 12:38:14.70ID:WMxbyvxFそんな立場に立ったことないし
必要そうな事(俺の場合ゲームに)を順次覚えていったらこんな感じ
0254名前は開発中のものです。
2011/09/09(金) 13:19:42.75ID:HI1B7qUaこれはどうしようもない事だと思うよ。
その「理解できない」事が解ってるのに、理解しないまま
そういう人達に対して教えようとするからおかしな事になる。
0255名前は開発中のものです。
2011/09/09(金) 13:27:32.18ID:zjvixVHUセンスが無いと「なんで分からないんだ」ってようなところで躓く
0256名前は開発中のものです。
2011/09/09(金) 15:34:40.02ID:ll9kyqlZ0257名前は開発中のものです。
2011/09/09(金) 15:51:48.77ID:zjvixVHU別の人間が書いてる内容を無理矢理繋げんな
0258名前は開発中のものです。
2011/09/09(金) 16:28:33.88ID:ll9kyqlZ0259名前は開発中のものです。
2011/09/09(金) 16:49:44.31ID:ik422DJIセーブ実装したいな…
↓
となるとファイル読み書きが必要だよな。
↓
難しいと評判のポインタを使うのか!
↓
あれ、難しくなかったぞ。拍子抜け。
0260名前は開発中のものです。
2011/09/09(金) 17:45:21.82ID:Qt804ejg結局教え方がマズイというか学び方がマズイというか
ポインタそのものの難度とは別のところに問題があるのは確実
0261名前は開発中のものです。
2011/09/09(金) 18:12:25.06ID:zFZi5GgL0262名前は開発中のものです。
2011/09/09(金) 18:42:01.46ID:aPTDe6Zjポインタを使うメリットがよく分からないからなんじゃないかな
俺もゲームの速度を気にするようになり、関数ポインタや
ローカルのポインタ変数を使うようになって、ようやくポインタの
便利さが分かったよ
必要な人だけ使えばいいと思う
ポインタ使わずゲームが作れるならそれで問題ないだろうし
0263名前は開発中のものです。
2011/09/09(金) 19:57:45.63ID:YyzrgMlk0264名前は開発中のものです。
2011/09/09(金) 20:01:15.86ID:n/GIxaX20265名前は開発中のものです。
2011/09/09(金) 20:34:44.80ID:4cbcubR50266名前は開発中のものです。
2011/09/09(金) 21:14:05.39ID:neVttkqH何もかもグローバルの配列を使うような世界で育てば確かに困ったことないだろうなぁ
0267名前は開発中のものです。
2011/09/09(金) 21:36:07.47ID:2lDIiM720268名前は開発中のものです。
2011/09/09(金) 21:49:01.18ID:jsjA4VTZ0269名前は開発中のものです。
2011/09/09(金) 21:56:20.07ID:escQ9bl0はじめてゲームプログラミングをするって人には正直見せたくない
0270名前は開発中のものです。
2011/09/09(金) 22:11:09.16ID:4cbcubR50271名前は開発中のものです。
2011/09/09(金) 22:18:52.71ID:Awb5KSjuは?
0272名前は開発中のものです。
2011/09/10(土) 00:33:45.55ID:4dPBw220それに龍神は筆者自身オススメしてない
特にゲームプログラミング設計の項は、あ〜こうやって作っていくのか、ってのが良くわかった
それにポインタの使い方も書いてあるしね
0273名前は開発中のものです。
2011/09/10(土) 01:21:34.30ID:GJxxESPR0274名前は開発中のものです。
2011/09/10(土) 18:28:24.58ID:eGTSCqLO0275名前は開発中のものです。
2011/09/10(土) 19:19:17.27ID:MGdXiHFjBCと(BC)でいいじゃん。
あと、+1したはずなのに変数のサイズによって+される幅が違ったってのもむかついたw
0276名前は開発中のものです。
2011/09/10(土) 19:34:59.80ID:zOyF7TIhポインタとポインタの間のバイトを指したい場合とかないだろw
0277名前は開発中のものです。
2011/09/10(土) 19:40:04.90ID:QrJCPGkp0278名前は開発中のものです。
2011/09/10(土) 20:13:22.32ID:F5SubAJrでも共用体で
union A {
int x;
struct B{
char y[4];
} xx;
} *a;
とかすれば
a->x
a->xx.y[2]
てなかんじで間のバイトをいじれる。
確かめて無いので構文が正しいかは怪しいけど大意はわかってくれw
通信のプロトコルスタックいじるときなんか、数値として見たいか
バイト列として見たいか変わることがあるので、たまにやる。
リトルエンディアンが煩いが。
0279名前は開発中のものです。
2011/09/10(土) 20:16:02.72ID:fBLcOXkm逆に利用する事で共通コードが書けるとも言う
0280名前は開発中のものです。
2011/09/10(土) 20:37:55.01ID:/FKNx6jp0281名前は開発中のものです。
2011/09/10(土) 20:40:28.09ID:F5SubAJrでもまあ、趣味の問題かな。
個人的には、char*にキャストは安全ではないという信仰があるので。
0282名前は開発中のものです。
2011/09/10(土) 21:10:23.76ID:XtGI1mlnvoidポインタとかと同じで、取れない(気付けない)バグの温床になりうる
0283名前は開発中のものです。
2011/09/10(土) 21:33:12.87ID:MGdXiHFjもちろん現行の方が便利なのはわかる。
ただ、アセンブラはバイト単位で全部自分が管理するというところが
面倒でもあり面白くもある部分だ、という意識があったから
その意識をそのままポインタにあてはめようとして、勝手にいじられたからイラっときただけw
0284名前は開発中のものです。
2011/09/10(土) 21:35:14.83ID:QrJCPGkp言語変える度に脳卒中でも起こしてんじゃねーの?
0285名前は開発中のものです。
2011/09/10(土) 21:51:29.70ID:ic0nYScw安定してコツコツ作り続けられる人はすげーっす
0286名前は開発中のものです。
2011/09/10(土) 21:57:10.55ID:KKMngnNA日常の一部になってるからモチベもへったくれも無いからなーw
それでも作ってて楽しい部分とめんどくさい部分はあるけど
まずは頑張ってユーザーの声が聞けるくらいのものを作ることかな
0287名前は開発中のものです。
2011/09/10(土) 22:00:28.85ID:ic0nYScw0288名前は開発中のものです。
2011/09/10(土) 22:03:09.44ID:QrJCPGkp0289名前は開発中のものです。
2011/09/10(土) 22:08:47.05ID:pfrQrGXG実装完了したら横線で項目を消す
横線を引く度にささやかな達成感が味わえる
0290名前は開発中のものです。
2011/09/10(土) 22:11:11.70ID:QrJCPGkpとってもよく分かります
0291名前は開発中のものです。
2011/09/11(日) 00:10:35.03ID:Jns83V083Dで作ったほうが明らかに見栄えがいいということはわかりきっているから、
結局は、今時2Dゲームとか作ってる自分が馬鹿らしくなって、気が滅入るネガティブスパイラル
0292名前は開発中のものです。
2011/09/11(日) 00:30:36.20ID:UQtA1ngmあと3Dだと余計な制約のせいでゲーム性が劣る場合が非常に多い
0293名前は開発中のものです。
2011/09/11(日) 01:00:27.84ID:D+XyvAIqイラストとフィギュア比べるように別ジャンルを比較しても意味が無いのでは?
0294名前は開発中のものです。
2011/09/11(日) 01:02:34.58ID:UQtA1ngm■ このスレッドは過去ログ倉庫に格納されています