[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 04/03 18:26 / Filesize : 57 KB / Number-of Response : 272
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2011/08/18(木) 17:18:15.54 ID:vXmrN4yD]
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【過去スレ】
DXライブラリ 総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
hibari.2ch.net/test/read.cgi/gamedev/1310904069/

214 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 02:53:35.18 ID:AWvxx1rh]
ポインタは可読性はあまり良くないな
やたらカッコ増えるし、正直使うべきだとは分かっていても少し気が引けてしまう

215 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 02:57:15.18 ID:XrYAZCzA]
ポインタで括弧が増える状況がいまいち想像つかん
値をインクリメントする場合くらいしか思いつかないんだが

216 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 03:11:23.54 ID:n04TG+5l]
カッコってまさか
*(hogehoge->hoge)
みたいな書き方してるとか?

217 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 05:26:21.46 ID:doHxDHsJ]
久しぶりに掲示板みたらこんなスレ立ってた

ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2389

218 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 06:47:16.66 ID:ER2QaU5m]
DXライブラリのすごい所は、普通のライブラリにある「ポインタを使わされる」場面がほとんどないことだよな
他のライブラリ見てるとポインタだらけだ

おかげで自作プログラムじゃ>>204の用途にしか使ってない

219 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 10:06:14.26 ID:WTgUh+ln]
>>214
ポインタ使った方が可読性良くなると思うが
関数間での二つ以上の値の受け渡しどうしてんの?いちいち構造体の値渡し使ってるの?

220 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 10:10:45.57 ID:SFhUhwei]
全部グローバル変数なんだろう

221 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 10:14:14.91 ID:lrhJNF88]
クラス化してるから、各関数の引数としては出てこないとか

222 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 11:02:29.93 ID:WTgUh+ln]
>>220
可読性低下してんじゃん
それとも全てのグローバル変数の用途を一年別のコード弄ってても忘れないくらい記憶力いいのか

>>221
クラス使うならクラス使うでポインタ使わずにインスタンスの受け渡しどうすんの



223 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 11:44:46.65 ID:oQa+3H/M]
ポインタ使った方が可読性は高まると思う

あとC++の場合、クラス使ってカプセル化するならむしろポインタ必須だろ
>>222も書いてるけど

224 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 11:58:51.52 ID:AWvxx1rh]
>>219
時と場合によるけど、俺はその関数で何回も使う場合は普通にポインタ使ってるよ
ちょっと使いたいだけの場合は、構造体の型で関数作る。関数の引数増やすとちょっときたないし

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




225 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 12:07:13.55 ID:WTgUh+ln]
>>224
いやわざわざ配列をポインタに直す必要なんて全く無いだろ……

226 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 12:16:11.24 ID:oQa+3H/M]
仮に必要がある場合でも、俺はローカルで
HOGE *hage = &(hogehoge+n)->hoge;
で置き換えてしまうかな
まあコードの内容にもよるけど、見にくくなるくらい登場頻度が高いならね

227 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 15:14:48.19 ID:95fOK7F6]
どうせポインタの使い方が分かってないのなら先にjavaやC#でのポインタレスプログラミングを勉強した方が
CやC++で組むときにもきれいで安全なコードに落ち着く気がする
まぁリファレンス使うのにポインタ使うのと同じ知識は必要だけどね

228 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 16:20:53.63 ID:qZ9zRe2f]
どう学習するのがいいんだろうねー
ポインタレスでメモリ空間の感覚が身に付くかなあ

まあいきなりポインタ使おうとしたら危険があるってのは間違いないけど

229 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 16:48:34.53 ID:ER2QaU5m]
メモリ操作の感覚が掴めてから本当にポインタが理解できるようになるんだろ
それに、ポインタとかは勉強しようと思って学んでも全然わからない

普通にプログラム組んでれば、いつかどうしてもポインタが必要な状況がくる
そうしたら電球ぴっかんこしてすんなり理解できるようになるから、それまでは無理に身につけようとしなくてもいいよ

230 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 17:03:04.88 ID:Zn0gmw5p]
メモリ空間とか意識すべきじゃないってのが昨今の考え方だからな
メモリ管理なんてほとんどの言語ではガベコレ任せでOKだし
C++では低レベル層以外では生ポインタもnewも禁止って規約作ってるところもある

231 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 17:57:56.34 ID:qZ9zRe2f]
ゲーム作るならガベコレ任せじゃなあ
ガベコレのタイミングと割り当てる時間まで全部制御できるならいいけど

232 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 18:48:46.19 ID:AWvxx1rh]
ゲームプログラミングの館で紹介されてるようなポインタの使い方以外に
どんな使い方が主流だったりするの?



233 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 18:52:34.06 ID:BQSrwOkb]
自分の無能をドヤ顔で語られてもな

234 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 18:56:46.84 ID:ER2QaU5m]
ゲームプログラミングの館は最近みてないからわからないが、
俺の場合は頻繁にソートしなくちゃいけない構造体の配列とかをポインタにすることでメモリコピー量を軽減して高速にソートできたり、
オブジェクトから別オブジェクトの状態を監視するために使ったりする

例えば、STGで敵が倒したらその敵が出した弾だけ消したい場合、
弾に自分を出した敵オブジェクトへのポインタを持たせといて、HPが0になったりしたのをチェックさせたりとかできる

235 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 18:57:34.76 ID:ER2QaU5m]
STGで敵が、じゃない
STGで敵を ね

236 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 19:29:18.17 ID:qZ9zRe2f]
ゲームデータを利用するときなんかポインタをよく使うな
STGだったら敵の耐久値や得点を格納した構造体やクラスとか
敵インスタンスのそれぞれには値を持たせないでゲームデータを指させる

用途は色々だけど、スマートに組もうと思ったらポインタが出てくることが多い気がする

237 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 20:05:29.41 ID:lrhJNF88]
>>222-223
失敬、あらかじめ別の場所で指定してるから、
実際の昨日呼び出しとしての関数にはポインタが出てこないのかも、というジョークのつもりだった

238 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 23:40:01.91 ID:iztd+bJu]
ポインタくらいさくっと勉強すればいいのに・・・

239 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 23:59:50.88 ID:9xOrhu1g]
ポインタを無駄に難しく感じる人が多いのはCの教本が悪いんだよな
>>224みたいな発想ってポインタを配列の添字替わりに使うっていうお決まりのサンプルが原因だろうし
C++みたいにクラスのインスタンスアドレスの格納用ってところから入ったほうが実用的で分かりやすい

240 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 00:32:33.59 ID:3xnCMl6b]
>>239
あれじゃ使い道分からんよなあ
俺も最初は「で?っていう」状態だったぞ

241 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 00:40:25.04 ID:WMxbyvxF]
俺は、「ある構造体を別の関数から手軽に変更できる」から入ったから、
むしろ配列アクセスがポインタ演算の省略記法だって知った時驚いたよ。そして確かにそうだなとも思った

242 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 00:50:17.52 ID:n/GIxaX2]
メモリの番地じゃないのか



243 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 01:11:39.93 ID:ao0aDTdP]
配列とか構造体を関数の引数にしたときに
Call by referenceにしかできないとか、
二次元配列を、ポインタをインクリメントするだけで
舐めてしまえるとか、

Cをアセンブリにいかに簡単に落とし込みやすくできるか。
アセンブリの性質がもろに出てるんですよね。

244 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 01:36:03.31 ID:8Qyc1Xec]
>>241
何それ、kwsk
俺も同じ道を辿りたい

245 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 03:05:21.84 ID:jsjA4VTZ]
win7にしたんだけどvc++6.0しか持ってなくて

dxライブラリを使うとdirectxをインストールしなくても
directxで開発できてしまうんだな
ありがたい
簡単にサンプルをビルド実行できた

246 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 04:03:49.72 ID:YyzrgMlk]
DirectXはすでにインストールされている

DirectX SDKのこと言ってるのかな

247 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 06:29:13.86 ID:2WBzxpbS]
vc6は古すぎるんでできれば新しいコンパイラに替えたほうがいいよ
express editionでよければ無料で使える

248 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 06:45:53.59 ID:ik422DJI]
自分もかなり長期間VC6を使ってたから愛着はあるぜ。

より高機能で複雑化してるから、道具に使われてる感はしちゃうけど、
IntelliSenseがかなり賢くなってるから、それだけでも導入の価値はあるぜ。

249 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 08:02:12.33 ID:GccrOwfB]
ポインタの何が難しいのか、そっちのが分からん

250 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 08:26:26.37 ID:YyzrgMlk]
>>249
ググれ
ポインタの難しさから勉強してこい
そこまで面倒みきれん

251 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 08:44:10.52 ID:HI1B7qUa]
ポインタなんて簡単だと言ってるんじゃないの。

252 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 12:29:00.96 ID:zjvixVHU]
だな
ポインタなんて難しいことは全くない

難しく感じるのは、教本が悪くて用途が分からないからってだけ



253 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 12:38:14.70 ID:WMxbyvxF]
確かに「ポインタなんて何に使えばいいの?」って言われてもこっちが理解できなかったりする
そんな立場に立ったことないし
必要そうな事(俺の場合ゲームに)を順次覚えていったらこんな感じ

254 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 13:19:42.75 ID:HI1B7qUa]
そういうところが齟齬の原因なんだろうね。
これはどうしようもない事だと思うよ。

その「理解できない」事が解ってるのに、理解しないまま
そういう人達に対して教えようとするからおかしな事になる。

255 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 13:27:32.18 ID:zjvixVHU]
プログラミングって論理思考のセンスが問われるからな
センスが無いと「なんで分からないんだ」ってようなところで躓く

256 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 15:34:40.02 ID:ll9kyqlZ]
ポインタ理解出来ない=センスがない ってことじゃないと思うがなー

257 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 15:51:48.77 ID:zjvixVHU]
誰もそんなこと言ってねえよ・・・
別の人間が書いてる内容を無理矢理繋げんな

258 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 16:28:33.88 ID:ll9kyqlZ]
おっとそれはごめんね

259 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 16:49:44.31 ID:ik422DJI]
自分の場合。


セーブ実装したいな…
   ↓
となるとファイル読み書きが必要だよな。
   ↓
難しいと評判のポインタを使うのか!
   ↓
あれ、難しくなかったぞ。拍子抜け。


260 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 17:45:21.82 ID:Qt804ejg]
Cで1年ゲーム作ってる人よりもjavaを1週間だけ勉強した人の方が簡単にポインタを理解できたりするからな
結局教え方がマズイというか学び方がマズイというか
ポインタそのものの難度とは別のところに問題があるのは確実

261 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 18:12:25.06 ID:zFZi5GgL]
リソースの管理とか言語に依存しない抽象的な概念は他の高級言語やった人の方が理解してそうだな

262 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 18:42:01.46 ID:aPTDe6Zj]
頻繁にデータ(構造体)を受け渡ししたり、速度を気にしないうちは
ポインタを使うメリットがよく分からないからなんじゃないかな

俺もゲームの速度を気にするようになり、関数ポインタや
ローカルのポインタ変数を使うようになって、ようやくポインタの
便利さが分かったよ

必要な人だけ使えばいいと思う
ポインタ使わずゲームが作れるならそれで問題ないだろうし



263 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 19:57:45.63 ID:YyzrgMlk]
全部スマポでやればいいよ

264 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 20:01:15.86 ID:n/GIxaX2]
スマポよりナマポ欲しい

265 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 20:34:44.80 ID:4cbcubR5]
スマタでいいからしてほしい

266 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 21:14:05.39 ID:neVttkqH]
龍神ryの講座のソースを見て「ポインタなくても困らない」と大声で言う人の気持ちがわかった気がした
何もかもグローバルの配列を使うような世界で育てば確かに困ったことないだろうなぁ

267 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 21:36:07.47 ID:2lDIiM72]
グローバルかどうかはあまり関係ないような・・・

268 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 21:49:01.18 ID:jsjA4VTZ]
ポインタって要するにアセンブラのインデックスレジスタなんだよね

269 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 21:56:20.07 ID:escQ9bl0]
あそこは初心者というよりHSPとかBASICを経由してきた人と相性が良さそう
はじめてゲームプログラミングをするって人には正直見せたくない

270 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 22:11:09.16 ID:4cbcubR5]
メモリ消去したのにアドレスを消さないぷろぐらまに価値はないんだよ

271 名前:名前は開発中のものです。 mailto:sage [2011/09/09(金) 22:18:52.71 ID:Awb5KSju]
>>268
は?







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<57KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef