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


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

C/C++ゲーム製作総合スレッド Part1



1 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 21:22:08.41 ID:iNm25OoA]
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/

307 名前:名前は開発中のものです。 [2012/06/06(水) 21:31:22.54 ID:fkjdBITD]
>>305
バグ0前提のほうがありえないだろw

308 名前:名前は開発中のものです。 mailto:sage [2012/06/06(水) 21:32:44.31 ID:wItmrJee]
一項目を一通り作ったらビルドしないの?
まさか全部作るまでテストしない…?

309 名前:名前は開発中のものです。 mailto:sage [2012/06/06(水) 21:35:34.97 ID:wItmrJee]
なにいってんだ俺は
一通り終わってバグがあったらその都度バグ潰すってことね

310 名前:名前は開発中のものです。 mailto:sage [2012/06/06(水) 21:56:51.01 ID:s5fJFGX+]
>>308-309
そこだけ訂正されても、「お前は何を言ってるんだ」は変わらんぞw

311 名前:名前は開発中のものです。 mailto:sage [2012/06/06(水) 22:10:00.23 ID:Ez398/8e]
というか、グローバル変数をあちこちから直接触るのが危険、はわかるが
(どうせ他人のプログラム読むにはGrep必須じゃね? みたいな揚げ足取りは置いといて)

クラスインスタンスを大域的にアクセス可能にすることにはどういうリスクがあるかな
あちこちで生成・破棄を繰り返したらヤバイとか、
マルチスレッド時変数にロック必須とかは俺にもわかる
他に目立つデメリットってどんなものがあるだろう?


312 名前:名前は開発中のものです。 mailto:sage [2012/06/06(水) 23:42:28.46 ID:32DOJ83b]
グローバルなフラグ処理があちこちで絡み合って、全体の処理が全くわけわからなくなるとかか?

313 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 01:05:23.58 ID:BJcvBZeM]
グローバルアクセスじゃなくてもポインタで共有してたら
マルチスレッドでは注意が必要だな。

問題は追尾性じゃないかな。検索使わないで探すとしたら大変だ。

314 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 07:52:16.47 ID:Jv6ss4Bc]
管理出来るなら使え、管理出来ない奴は使うな、でいいよね

315 名前:311 mailto:sage [2012/06/07(木) 08:05:17.72 ID:1pAFbwR/]
なるほど・・・改めて言われてみるとそうかもな
引数にしとけば関数一覧見ただけで出入りがわかるもんな
今後参考にする、ありがとう



316 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 08:07:50.47 ID:ABZ9H4yv]
端から見て意思の疎通が出来てるのか心配になるやり取りだなw

317 名前:名前は開発中のものです。 [2012/06/07(木) 13:55:27.92 ID:QQtm5YS7]
>>311
直行性の破壊

318 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 14:44:16.39 ID:aJnWGOd5]
ゼノギアスみたいに3Dマップに2Dを歩かせたいんだけど、2DキャラにVECTOR座標持たせないとダメなのかな?
それともカメラとマップの動きでなんとかするのかな

319 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:30:16.39 ID:BJcvBZeM]
やりたいようにやりなさい。

320 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 22:02:16.36 ID:Ukk/kqdB]
マジレスしていいのか?

321 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 22:20:38.30 ID:G9hkoO5R]
オブジェクト指向の弊害というか、基本的なアルゴリズム力がない人が増えたよな
特に内部の数値と表示部を分けて考えずに直結して考えてる人が多い

322 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 23:49:11.74 ID:vdC1mnp6]
アルゴリズム力って何?

323 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 23:54:38.13 ID:p6Iwkliq]
まぁ、ゲームというのは基本的に電源を入れ続けている間には停止しないので、
不完全なアルゴリズムであるといえよう

324 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 05:39:14.26 ID:emaLFwiS]
>>323
哲学かw


325 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 12:13:59.29 ID:DZv8KWRM]
ブログラムを学び始めて一ヶ月、トランプのゲームや簡単なアクションなら楽に作れるようになった
しかし未だにポインタの使い道が分からない



326 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 13:31:45.51 ID:q3HoT9+Z]
>>325
心配しなくても、そのうちポインタじゃないと出来ないこと、ポインタの方がスマートに出来ることにブチ当たる。
その時に改めて覚えればいいのよ。

例えば、セーブシステムを実装してみるとかどうかな。

327 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 13:52:13.27 ID:tcFLKDMc]
うむセーブできるスロットを3個として
それを読み込んだり上書きしたり
そんなときに

328 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 17:42:03.38 ID:aSm1ZnJU]
俺がポインタ使い始めたのは
オブジェクトの配列を使わざるを得なくなったときかな?
上で一応、ポインタ不使用で配列扱う方法あったけど、
当時はそこまで調べきれんかった。
まぁ知っててもポインタ使ってただろうけど。
あとはfactoryパターンなんかポインタあってこそだな。

329 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 18:39:35.31 ID:pbnxpIOe]
俺がポインタ使い始めたのは、文字列の多次元配列を使わざるを得なくなったときだった

330 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 19:35:21.69 ID:lRuRBADW]
ぼ、僕の初めてはmallocちゃん・・・

331 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 20:05:18.05 ID:SJfmbBy9]
俺はライブラリがポインタ返してくる場合を除いて使わないかな
それを除けばSTLコンテナと参照渡しでほとんど済むというか

std::mapに関数ポインタ入れてスイッチ消すとかは価値あると思うんだけど
コンパイル時に型と内容が確定するメリットが捨てがたいんだよな

332 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 20:50:19.69 ID:j/2x2bX+]
関数ポインタやストラテジーパターンならタイプセーフだぞ。

333 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:13:56.33 ID:m5MO4L1R]
セガの人の本で関数内で引数の中身が変わるかどうかわかるように
ポインタと参照を使い分ける話があってそれに従ってるな

334 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:30:09.93 ID:zMZgxXcw]
RPGツクールやってたせいかポインタ使わなくても処理できる方法が浮かぶから困る
多少コード長くなるかもしれないけど知らん

335 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:42:33.38 ID:+harBrKu]
>>333
const使って解決するほうが堅牢に思える



336 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:44:24.52 ID:z81hpupn]
さらにSAL注釈も付けるかな

337 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:44:25.54 ID:6tY7hMDQ]
RPGツクールとポインタ使わなくても処理できる方法の
関連性がよくわからん

338 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:48:46.35 ID:PkeZlA3u]
みんなポインタどこで勉強した?

339 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:53:09.92 ID:MREanol0]
>>338
昔はネットが無いかわりにCマガジンという雑誌があってだな・・・

340 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 22:05:47.44 ID:MREanol0]
>>234>>236
今更だが、ちょっと気になったので。
GetProcessHeapとHeapCreateでそれぞれ検索する事をオススメする。
ちなみに、C++のnewがどっちのヒープを使ってるかは分からなかった。
速度では前者、汎用性、拡張性を優先しているなら後者なんだが・・・

341 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 22:25:17.57 ID:2sQEIMbG]
>>337

ツクールに限らず、そもそもポインタ使わなくてもゲームは作れるって話でしょう。
あれば便利だがなくてもできなくはないという程度の意味で。

342 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 22:30:05.74 ID:b1Lp2XzC]
while(*dst++ = *src++ )
;      

343 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 22:34:51.17 ID:FXgS0hSf]
>>340
crt見ればいいよ
昔はheapを確保できればHeapAlloc、できなければVirtualAlloc
VC10だとその辺の記述がごっそりなくなってるからreallocでまとめられたのかもしれない。たぶん
というか本人がよく分かっていないのに他の人にググれっていうのは厳しいだろw

344 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 22:54:45.78 ID:MREanol0]
>>343
でも、>>234>>236が何を混同してたのかは理解出来るんでは?
HeapAlloc+HeapCreate(0,0,0)の挙動とnewの挙動を
ごちゃ混ぜにしてた事は理解できたから。
HeapAlloc+GetProcessHeapの方が早いし使い勝手も良いから、
C/C++ではこちらを採用していると考える方が自然かと。拡張性は無いけど。

345 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 23:21:38.88 ID:meBz3r1I]
実はnewの挙動をMSがコッソリ変えていたというのが真相だったりしてな



346 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 23:30:02.10 ID:m5MO4L1R]
>>335
constもつけるよ
あくまで呼び出した側でわかりやすいという話
一種のおまじないかも

347 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 14:17:30.16 ID:lNgYTjBj]
CでIMEの設定変更する方法っていうか関数あったりする?
標準全角入力使われたら予期せぬ動きしまくるしrewindでもクリアできないしマジ困る
あれはバッファの中身どうなってるんだろう・・・

348 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 15:10:15.66 ID:x2dTOO+E]
>>347
Cにあるわけない。
WindowsAPI(Win32 API)か何かに投げるんじゃねーのかな。

349 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 16:37:02.46 ID:FTBfxQeH]
DirectXのサンプルの中にImeUi.h、ImeUi.cppってのがあったけど
俺は途中で放り投げたから詳細はわからない
要はTSFってのを使うらしい

350 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 18:53:04.60 ID:XUfV5Ps7]
"C/C++" IME
とかでぐぐるといろいろあるみたいだな

351 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 08:03:40.59 ID:Vdy0LhS9]
ちょっとCからは反れるかも知れないんだけど、3Dのマップモデルってどう表示してる?
1マップを超巨大なモデルを作ってそれをドカッと配置しようかとしてるんだけどまともな方法なのかな?
そしてそれに家とかのモデルを一個ずつ配置するか、それとも地面にセットでくっ付けておくか悩む

352 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 08:26:57.69 ID:pW3epnaG]
>>351
地形と家や木などの何度も登場するモデルは分けて読み込んでプログラム側で配置すると良いよ。
ロード時間の短縮、メモリ節約、当たり判定の高速化、描画の高速化のメリットがある。
もちろんこれらの機能は自分で実装しなくてはいけないけどね。

353 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 09:16:10.08 ID:IS7oiAfA]
>>351
地形マップは大きいのが一つ。
建物などのオブジェクトは個々のモデルを配置する。
LODで高速化できるので。


354 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 09:50:09.21 ID:67uf8PuE]
地形マップの着地判定って手作業で設定して行くの?
それともポリゴンの点から面を取得して〜・・・






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

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

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