- 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/
- 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
は?
|

|