C/C++ゲーム製作総合スレッド Part1
at GAMEDEV
[前50を表示]
300:名前は開発中のものです。
12/06/06 16:19:17.31 s5fJFGX+
>>299
簡潔かつ具体的にどうぞ
301:名前は開発中のものです。
12/06/06 19:31:30.78 WiOpGBsA
シングルトンとしてわざわざprivateコンストラクタとか書きたくない場合、
引数でデータを渡すセッターが書きたくない場合かな。
まあ手抜きだね。
経験や設計力の足りない人が、とりあえずグローバル変数で手抜きをしてつくり、
後で修正するのはいいんじゃないかな。
>>299
>>15さんの好きなようにやりなさい。
302:名前は開発中のものです。
12/06/06 20:03:58.82 dE87BNoI
一人で開発してるとどうしても手抜きになるのは仕方かも。
就職してチームで開発するようになればセオリーの
コーディングスタイルを学べるんだけどね。
すでに退職した人が書いたコードのバグを治す立場になれば
グローバル変数の悪どさが身を持って分かるようになる。
303:名前は開発中のものです。
12/06/06 20:08:37.83 K3C+b+6o
クラスごとに読み込み専用とか書き込み可能とかのアクセス制御を簡単に記述できるなら
何処からでも参照可能なデータクラスがあっても悪くないのかもしれないけど
304:名前は開発中のものです。
12/06/06 20:13:09.98 s5fJFGX+
システム担当が1人しかいないので大して変わらん俺…(´・ω・`)
305:名前は開発中のものです。
12/06/06 20:21:15.36 wItmrJee
そもそも数人で作れるほどの腕を持つ奴はこんなとこ来ないから別にいいよ
しかもなんでバグ前提だよ>>302
306:名前は開発中のものです。
12/06/06 20:22:50.00 z1YH6Ic0
まとめ
グローバル変数は把握出来るようにきちんと整理しておきましょう
307:名前は開発中のものです。
12/06/06 21:31:22.54 fkjdBITD
>>305
バグ0前提のほうがありえないだろw
308:名前は開発中のものです。
12/06/06 21:32:44.31 wItmrJee
一項目を一通り作ったらビルドしないの?
まさか全部作るまでテストしない…?
309:名前は開発中のものです。
12/06/06 21:35:34.97 wItmrJee
なにいってんだ俺は
一通り終わってバグがあったらその都度バグ潰すってことね
310:名前は開発中のものです。
12/06/06 21:56:51.01 s5fJFGX+
>>308-309
そこだけ訂正されても、「お前は何を言ってるんだ」は変わらんぞw
311:名前は開発中のものです。
12/06/06 22:10:00.23 Ez398/8e
というか、グローバル変数をあちこちから直接触るのが危険、はわかるが
(どうせ他人のプログラム読むにはGrep必須じゃね? みたいな揚げ足取りは置いといて)
クラスインスタンスを大域的にアクセス可能にすることにはどういうリスクがあるかな
あちこちで生成・破棄を繰り返したらヤバイとか、
マルチスレッド時変数にロック必須とかは俺にもわかる
他に目立つデメリットってどんなものがあるだろう?
312:名前は開発中のものです。
12/06/06 23:42:28.46 32DOJ83b
グローバルなフラグ処理があちこちで絡み合って、全体の処理が全くわけわからなくなるとかか?
313:名前は開発中のものです。
12/06/07 01:05:23.58 BJcvBZeM
グローバルアクセスじゃなくてもポインタで共有してたら
マルチスレッドでは注意が必要だな。
問題は追尾性じゃないかな。検索使わないで探すとしたら大変だ。
314:名前は開発中のものです。
12/06/07 07:52:16.47 Jv6ss4Bc
管理出来るなら使え、管理出来ない奴は使うな、でいいよね
315:311
12/06/07 08:05:17.72 1pAFbwR/
なるほど・・・改めて言われてみるとそうかもな
引数にしとけば関数一覧見ただけで出入りがわかるもんな
今後参考にする、ありがとう
316:名前は開発中のものです。
12/06/07 08:07:50.47 ABZ9H4yv
端から見て意思の疎通が出来てるのか心配になるやり取りだなw
317:名前は開発中のものです。
12/06/07 13:55:27.92 QQtm5YS7
>>311
直行性の破壊
318:名前は開発中のものです。
12/06/07 14:44:16.39 aJnWGOd5
ゼノギアスみたいに3Dマップに2Dを歩かせたいんだけど、2DキャラにVECTOR座標持たせないとダメなのかな?
それともカメラとマップの動きでなんとかするのかな
319:名前は開発中のものです。
12/06/07 21:30:16.39 BJcvBZeM
やりたいようにやりなさい。
320:名前は開発中のものです。
12/06/07 22:02:16.36 Ukk/kqdB
マジレスしていいのか?
321:名前は開発中のものです。
12/06/07 22:20:38.30 G9hkoO5R
オブジェクト指向の弊害というか、基本的なアルゴリズム力がない人が増えたよな
特に内部の数値と表示部を分けて考えずに直結して考えてる人が多い
322:名前は開発中のものです。
12/06/07 23:49:11.74 vdC1mnp6
アルゴリズム力って何?
323:名前は開発中のものです。
12/06/07 23:54:38.13 p6Iwkliq
まぁ、ゲームというのは基本的に電源を入れ続けている間には停止しないので、
不完全なアルゴリズムであるといえよう
324:名前は開発中のものです。
12/06/08 05:39:14.26 emaLFwiS
>>323
哲学かw
325:名前は開発中のものです。
12/06/08 12:13:59.29 DZv8KWRM
ブログラムを学び始めて一ヶ月、トランプのゲームや簡単なアクションなら楽に作れるようになった
しかし未だにポインタの使い道が分からない
326:名前は開発中のものです。
12/06/08 13:31:45.51 q3HoT9+Z
>>325
心配しなくても、そのうちポインタじゃないと出来ないこと、ポインタの方がスマートに出来ることにブチ当たる。
その時に改めて覚えればいいのよ。
例えば、セーブシステムを実装してみるとかどうかな。
327:名前は開発中のものです。
12/06/08 13:52:13.27 tcFLKDMc
うむセーブできるスロットを3個として
それを読み込んだり上書きしたり
そんなときに
328:名前は開発中のものです。
12/06/08 17:42:03.38 aSm1ZnJU
俺がポインタ使い始めたのは
オブジェクトの配列を使わざるを得なくなったときかな?
上で一応、ポインタ不使用で配列扱う方法あったけど、
当時はそこまで調べきれんかった。
まぁ知っててもポインタ使ってただろうけど。
あとはfactoryパターンなんかポインタあってこそだな。
329:名前は開発中のものです。
12/06/08 18:39:35.31 pbnxpIOe
俺がポインタ使い始めたのは、文字列の多次元配列を使わざるを得なくなったときだった
330:名前は開発中のものです。
12/06/08 19:35:21.69 lRuRBADW
ぼ、僕の初めてはmallocちゃん・・・
331:名前は開発中のものです。
12/06/08 20:05:18.05 SJfmbBy9
俺はライブラリがポインタ返してくる場合を除いて使わないかな
それを除けばSTLコンテナと参照渡しでほとんど済むというか
std::mapに関数ポインタ入れてスイッチ消すとかは価値あると思うんだけど
コンパイル時に型と内容が確定するメリットが捨てがたいんだよな
332:名前は開発中のものです。
12/06/08 20:50:19.69 j/2x2bX+
関数ポインタやストラテジーパターンならタイプセーフだぞ。
333:名前は開発中のものです。
12/06/08 21:13:56.33 m5MO4L1R
セガの人の本で関数内で引数の中身が変わるかどうかわかるように
ポインタと参照を使い分ける話があってそれに従ってるな
334:名前は開発中のものです。
12/06/08 21:30:09.93 zMZgxXcw
RPGツクールやってたせいかポインタ使わなくても処理できる方法が浮かぶから困る
多少コード長くなるかもしれないけど知らん
335:名前は開発中のものです。
12/06/08 21:42:33.38 +harBrKu
>>333
const使って解決するほうが堅牢に思える
336:名前は開発中のものです。
12/06/08 21:44:24.52 z81hpupn
さらにSAL注釈も付けるかな
337:名前は開発中のものです。
12/06/08 21:44:25.54 6tY7hMDQ
RPGツクールとポインタ使わなくても処理できる方法の
関連性がよくわからん
338:名前は開発中のものです。
12/06/08 21:48:46.35 PkeZlA3u
みんなポインタどこで勉強した?
339:名前は開発中のものです。
12/06/08 21:53:09.92 MREanol0
>>338
昔はネットが無いかわりにCマガジンという雑誌があってだな・・・
340:名前は開発中のものです。
12/06/08 22:05:47.44 MREanol0
>>234>>236
今更だが、ちょっと気になったので。
GetProcessHeapとHeapCreateでそれぞれ検索する事をオススメする。
ちなみに、C++のnewがどっちのヒープを使ってるかは分からなかった。
速度では前者、汎用性、拡張性を優先しているなら後者なんだが・・・
341:名前は開発中のものです。
12/06/08 22:25:17.57 2sQEIMbG
>>337
ツクールに限らず、そもそもポインタ使わなくてもゲームは作れるって話でしょう。
あれば便利だがなくてもできなくはないという程度の意味で。
342:名前は開発中のものです。
12/06/08 22:30:05.74 b1Lp2XzC
while(*dst++ = *src++ )
;
343:名前は開発中のものです。
12/06/08 22:34:51.17 FXgS0hSf
>>340
crt見ればいいよ
昔はheapを確保できればHeapAlloc、できなければVirtualAlloc
VC10だとその辺の記述がごっそりなくなってるからreallocでまとめられたのかもしれない。たぶん
というか本人がよく分かっていないのに他の人にググれっていうのは厳しいだろw
344:名前は開発中のものです。
12/06/08 22:54:45.78 MREanol0
>>343
でも、>>234>>236が何を混同してたのかは理解出来るんでは?
HeapAlloc+HeapCreate(0,0,0)の挙動とnewの挙動を
ごちゃ混ぜにしてた事は理解できたから。
HeapAlloc+GetProcessHeapの方が早いし使い勝手も良いから、
C/C++ではこちらを採用していると考える方が自然かと。拡張性は無いけど。
345:名前は開発中のものです。
12/06/08 23:21:38.88 meBz3r1I
実はnewの挙動をMSがコッソリ変えていたというのが真相だったりしてな
346:名前は開発中のものです。
12/06/08 23:30:02.10 m5MO4L1R
>>335
constもつけるよ
あくまで呼び出した側でわかりやすいという話
一種のおまじないかも
347:名前は開発中のものです。
12/06/09 14:17:30.16 lNgYTjBj
CでIMEの設定変更する方法っていうか関数あったりする?
標準全角入力使われたら予期せぬ動きしまくるしrewindでもクリアできないしマジ困る
あれはバッファの中身どうなってるんだろう・・・
348:名前は開発中のものです。
12/06/09 15:10:15.66 x2dTOO+E
>>347
Cにあるわけない。
WindowsAPI(Win32 API)か何かに投げるんじゃねーのかな。
349:名前は開発中のものです。
12/06/09 16:37:02.46 FTBfxQeH
DirectXのサンプルの中にImeUi.h、ImeUi.cppってのがあったけど
俺は途中で放り投げたから詳細はわからない
要はTSFってのを使うらしい
350:名前は開発中のものです。
12/06/09 18:53:04.60 XUfV5Ps7
"C/C++" IME
とかでぐぐるといろいろあるみたいだな
351:名前は開発中のものです。
12/06/11 08:03:40.59 Vdy0LhS9
ちょっとCからは反れるかも知れないんだけど、3Dのマップモデルってどう表示してる?
1マップを超巨大なモデルを作ってそれをドカッと配置しようかとしてるんだけどまともな方法なのかな?
そしてそれに家とかのモデルを一個ずつ配置するか、それとも地面にセットでくっ付けておくか悩む
352:名前は開発中のものです。
12/06/11 08:26:57.69 pW3epnaG
>>351
地形と家や木などの何度も登場するモデルは分けて読み込んでプログラム側で配置すると良いよ。
ロード時間の短縮、メモリ節約、当たり判定の高速化、描画の高速化のメリットがある。
もちろんこれらの機能は自分で実装しなくてはいけないけどね。
353:名前は開発中のものです。
12/06/11 09:16:10.08 IS7oiAfA
>>351
地形マップは大きいのが一つ。
建物などのオブジェクトは個々のモデルを配置する。
LODで高速化できるので。
354:名前は開発中のものです。
12/06/11 09:50:09.21 67uf8PuE
地形マップの着地判定って手作業で設定して行くの?
それともポリゴンの点から面を取得して〜・・・
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4365日前に更新/85 KB
担当:undef