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


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

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



1 名前:名前は開発中のものです。 mailto:sage [2012/10/24(水) 03:01:09.64 ID:oI68Vzqz]
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/
C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/

315 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:25:58.45 ID:hLXHgUEm]
ファミコンはドット絵だからペイントで描くようなもんじゃないだろう

316 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:29:25.50 ID:4ruuHy6d]
>>315
ルーペで拡大して描くんだろwしらんけどw

317 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:34:52.78 ID:1xP0Jxk2]
ペイントでドット絵描いてる人は今も多いぞ
ドット絵なんてアンチエイリアス掛からないツールなら問題ないしな
それほどクオリティを求めないファミコン風なら、アンチエイリアスもかけないしペイントで十分

318 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:53:06.25 ID:i5WslLE/]
>313
前者です。スレ違いみたいでした。すみません。
背景が難しいていったのはマップチップ作ってそれをループで並べてるんですけど、樹木とか遺跡っぽいのが作るの難しくて。
子供が寝たから今からまた作ります。

319 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:32:54.29 ID:Ar9mPays]
実際にどういう絵にすればファミコンっぽくなるかが気になるなら
CG板にあるドット絵スレで質問するといいよ。
toro.2ch.net/test/read.cgi/cg/1347980328/

一応この板にもドット絵スレは幾つかあるけど、あんまり動いてない。
あと音楽は分からん。たぶん2chのどこかにチップチューンスレとかあると思う。

320 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:38:13.26 ID:i5WslLE/]
>319
ありがとうございます!
曲のほうはこの板の別スレで、リクエストできるスレがあったので、そちらにレスしてみました。
ドット絵は後で調べてみます。
今は、穴に落ちた時やライフゼロのときのゲームオーバーの判定実装してます。

321 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:41:06.45 ID:vU7vV5c8]
ファミコンっぽくしたいなら、解像度を荒くする、色数を8色以下にする、マップチップのサイズを8*8にする、くらいじゃないのかな。

322 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:47:05.46 ID:4ruuHy6d]
>>320
ドット絵なら素材じゃだめなんか?
素材サイト回れば一通りそろいそうだが。

323 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:05:03.40 ID:i5WslLE/]
>322
前にマップチップで探してみたんですけどRPG 用ぽいのが多くて、とりあえず探すのやめてました。



324 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:05:22.18 ID:BpQGjbQp]
マウス押された時呼ばれるコールバック関数があるのだけど、
メインループの関数内の処理によってコールバックの内容も変えたい。
どういう設計すればいいの?

325 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:09:17.43 ID:GbUHGBi8]
コールバック関数を設定しなおすとかすればいいんじゃね?

326 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:11:57.28 ID:hLXHgUEm]
int f;
main()
{
f=0;

f=1;

f=2;
}

コールバック(int f)

switch(f)


こんなんでいいんじゃないの

327 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:31:26.12 ID:BpQGjbQp]
>>326
やっぱりそうかー。
fに当たる変数はグローバル変数で取ってるから受け渡しは必要ないんだけどやっぱりそうなるか。
main()で配列に関数ポインタ設定して、コールバックのほうで設定されている関数ポインタ配列から自動的に呼び出しとか面倒なこと考えてた。
ありがとう。

328 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 00:45:52.42 ID:Y6G4CBGg]
敵がマップスクロールに引っ張られてくる、、
実装の仕方がまずいのかなー。プレイヤーはマップの真ん中の座標にきたらマップの描画位置をずらすようにしてる所が悪いんだろうか。

329 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 01:20:33.58 ID:ds3F2YzA]
言ってる意味がわからない。

330 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 01:45:38.18 ID:Y6G4CBGg]
画面が右にスクロールすると、左に進んでた敵の速度が遅くなってしまう。

331 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 02:56:28.36 ID:3oA0zPbz]
大きく分けて、2つの実装方法があると思う。
例えば毎フレーム5ドットずつマップスクロールすると仮定した場合、


(1)スクリーン座標
プレイヤーキャラや敵キャラの位置を、画面上の座標として保持する方式。
「カメラ」は固定のまま、「舞台」が移り変わるイメージ。演劇みたいな。

背景はスクロールするが、実質的に固定画面ゲーと同じようなデザインなゲーム向きだろうか。例えばシューティングゲーム等。

 プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
 敵キャラ:      通常の動作(前進や停止など)に加えて、毎フレーム5ドットずつ加算される。
 背景:         毎フレーム5ドットずつ加算される。
 カメラ:        動かさない。


(2)ワールド座標
プレイヤーキャラや敵キャラの位置を、マップ全体から見た座標として保持する方式。
「カメラ」が移動して、マップ上の各オブジェクトを映しだす。TVのマラソン中継や競馬中継みたいな。
よって、自動スクロールの場合、プレイヤーが操作しなければプレイヤーキャラも画面外に消えてしまう。
画面上に表示される位置は、(マップ上の座標)-(カメラ座標)で求められる。

広いマップを探索するようなゲーム、スクロールのタイミングや速度がプレイヤーの操作で変わるゲーム向きか。マリオ等。

 プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
 敵キャラ:      通常の動作(前進や停止など)による変更。
 背景:         動かさない。
 カメラ:        毎フレーム5ドットずつ加算される。


……みたいな感じ。

332 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 08:50:06.52 ID:Y6G4CBGg]
やりたいのは(2)のほうで、マリオとかみたいにプレイヤーが画面中央より左右に進もうとしたら、画面スクロールしようとしてます。
>331の内容見て、また考えてみます。

333 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 09:18:15.26 ID:3oA0zPbz]
なら、次の順番で試してみるといいかもしれない。
各オブジェクトを表示するときは、(マップ上の座標)-(カメラ座標)に表示すること。

 i.  カメラを固定してキャラを動かす。
 ii. プレイヤーの操作とは関係なく、カメラが自動的に右方向へスクロールするようにする。
 iii. プレイヤーキャラが常に画面の中央に表示されるようにカメラを動かす。
 iv. プレイヤーキャラがマップの端に居るときは、カメラが動かないようにする。



334 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 11:19:22.25 ID:RlzqnUp+]
>>328
どんなのが作りたいのかそれだけじゃわからないけど
マリオっぽのならこれが参考になるじゃねーの?

ソースも入ってるよ?ライブラリはSDLだけど
www.vector.co.jp/soft/winnt/game/se347402.html

335 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 11:50:57.17 ID:eFQjOjmf]
スクロールしたら敵ずれるって、スクロールした分敵の座標移動するの忘れてるだけじゃないのか
そんな単純な話ではないのか?

336 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 12:26:19.16 ID:3oA0zPbz]
>>334
懐かしい! この板が発祥のゲームなんだよな。

337 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 13:14:20.80 ID:YppVmW6v]
>>335
敵を移動するんじゃなくて、カメラを移動するのが王道。
ゲーム内のキャラクターはすべてワールド座標で処理すべし。

338 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 13:25:14.45 ID:eFQjOjmf]
>>337
どっちにしろ描画するときに座標変換は必要だし
カメラ移動分の座標さっぴいてやらないとずれるし
パラメータをどう持つかはともかく、処理は必要だし

339 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 14:44:38.27 ID:XkqVanxt]
>>338
カメラ座標変換マトリックスに任せておけ

340 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 15:46:56.07 ID:XgY5u7US]
>>338
描画モジュールとそれ以外のモジュールがゴチャッてなければそこで不整合は起きないだろ

341 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 18:47:04.04 ID:BilY3FWQ]
このスレってこういう初心者っぽい質問があるかと思えばたまに異次元みたいなワケわからない話が始まるし
距離感が掴みにくいな

342 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 19:35:19.32 ID:giYr9TgY]
STLのアルゴリズムを使え使えって本に書いてあったから使って見てるけどコンパイルエラーを変なところに飛ばしやがってむかつく

343 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 20:31:45.22 ID:IVKuNp4c]
STLのコンパイルエラーメッセージって分かり肉いよね



344 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:06:07.74 ID:44UwHnvI]
>>342
中身完全把握しとけって事だよ
言わせんな恥ずかしい

まあ現実的に考えても最低限使い方だけでも完全把握してないとデバッグすら出来ない
なんとなくで使ってるといつか痛い目を見る…っていうか今見てるのか

345 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:28:38.51 ID:tBmxJtaY]
初心者こそSTL使えという奴もいればこういう奴も居る
困ったもんだな

346 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:35:28.92 ID:44UwHnvI]
配列の代わりに使うくらいなら問題ないんだろうけどな

347 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:36:52.36 ID:Gl1QEKN/]
>>344
いや。
実際、STLの配列絡みのエラーの場合、エラーメッセージでなく、
むしろ自分の作業過程を思い出して、
配列やメモリを扱うロジックに思慮不足が無かったかを見直さないと、
訂正すべき個所をなかなか特定できない場合が多いぞ。

他人のコードをハックするには、当然センスが必要になってくるってことさ。
俺は、なるべく難しい問題を、なるべく自分でフルスクラッチすることが上達の早道だと思うね。
勿論、チーム制作で、未熟者にフルスクラッチされたら、たまったもんじゃないがな。

348 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:41:09.07 ID:F4NAJzUg]
>>337
それは状況によるんじゃないの?
俺は固定マップの時はそうやったけど、
ループマップで、自機周辺でしか当たり判定等の処理をしない、という時は敵を移動させるようにしたぞ。

349 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 22:46:01.23 ID:Y6G4CBGg]
>>333
今の処理の順序見直してみます。
今日とりあえずそこをなんとかして、形にしようと思ってます。

>>334
後でやってみます。ありがとうございます。

350 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 23:23:16.03 ID:uWBDaITV]
音楽はRetro Music Editorでやってみる?

351 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 23:38:20.65 ID:Y6G4CBGg]
>>350
インストールして適当に再生してみました。
ファミコンっぽい音が出るwww
ゲームの基本的な流れが出来たら、こっちも触ってみようかな。

352 名前:名前は開発中のものです。 mailto:sage [2012/11/22(木) 23:50:53.87 ID:Y6G4CBGg]
すみません。(マップ上の座標)-(カメラ座標)というのはどんなイメージになるんでしょうか。
今、
// マップを描く
for( int i = 0 ; i < MAP_DRAW_HEIGHT ; i ++ ) {
for( int j = 0 ; j < MAP_DRAW_WIDTH ; j ++ ) {
DrawGraph(j * MAP_SIZE + (mapMoveCnt) , i * MAP_SIZE , map[Map1_Data[i][j]] , true);
}
}
って感じでマップ描画してます(DXライブラリ使ってます)
mapMoveCntっていうのがマップの描画位置をずらす為に使ってて、
プレイヤーが画面中央に居る且つ、左右に移動した時にmapMoveCntを加減算してました。
これでスクロールをしてたんですけど、カメラを移動するってことはマップを描画する位置をずらすってことでしょうか??

353 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:13:57.43 ID:cFXLUjPO]
うーんと
そもそも、それ2Dのマップ表示のコード(それもチップ?)だよね?

となるとカメラなんて使ってないでしょ。
>>331 で言うと(1)スクリーン座標

悪いこと言わないから
>>334 のソースDLして研究してみ

ライブラリはSDLだけどDXLIBを2Dで使うならやることは同じだから。



354 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:16:00.60 ID:GjI1Zcmz]
>>352
だね。カメラが移動するってことは、見た目の位置がずれるってこと。


挙げられたソースだと、その mapMoveCnt がまさにカメラの座標に相当すると思う。
正確にいえば、そこに-1を掛けた値だけど。
まあ、単に減算するか、正負反転したものを加算するかだけの違いなので、やってることは同じ。

で、マップチップ以外のもの、「カメラ」が撮影する「舞台」上もの全てに、そのカメラ座標を減算する。
こうすれば、「カメラ」の位置に関わらず、各オブジェクトが画面上あるいは画面外を自由に動くことになる。


ここまで(>333の2番3番に相当)出来れば、あとはカメラをどう動かすかだけの話なので、
問題点をかなり絞り込めるはず。

355 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:16:21.06 ID:GZw5dyQ6]
>>353
あ、カメラって3Dでのことなんですね。すみません。
>>334で書いてたのを今からDLしてソース見てみます。

356 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:17:01.41 ID:GjI1Zcmz]
>>353
擬似的な「カメラ」と、3Dにおけるカメラをごっちゃにしてる

357 名前:356 mailto:sage [2012/11/23(金) 00:18:57.78 ID:GjI1Zcmz]
失敬、擬似的というよりは概念としてのカメラと言ったほうが正しいな

358 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:28:34.06 ID:cFXLUjPO]
>>355
まあ、がんばって、昨日のお子さんに作ってる人かね。

>>356
どっちでもいいよ。
カメラ固定なんだからあまりカメラのことは考えなくていいと思う。
DirectXやOpenGL直に打つなら話は違うけど。
DXLIBを2Dで使うんだし。その辺はDXLIBがくるんでるっしょ。

359 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 00:42:30.97 ID:GjI1Zcmz]
いやだから、何故3Dにおけるカメラの話を持ち出すのか

360 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 01:09:13.45 ID:yOOti4xC]
>>359
普通は概念だろうがなんだろうが
それをカメラって呼ばないしどうでもいい

361 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 01:14:50.46 ID:Tfq3xGkn]
いやカメラって呼ぶだろ

362 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 02:09:55.26 ID:GZw5dyQ6]
>>358
そうです。今、モナーアクションゲームのソース見てます。
今日はこれ見て理解するだけで終わっちゃいそう、、、。
また明日の夜頑張ります。こうして質問に答えてくれる人がいるだけでも
モチベーションが違うきがします。>>354さんもありがとうございます。

363 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 05:17:34.40 ID:tAm612YR]
ワールド座標からスクリーン座標に変換するロジック → カメラ



364 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 06:41:13.52 ID:hefSCrq5]
キャラクターの位置を( X , Y )とする。(ワールド座標)
カメラの位置を( CX , CY )とする。
そうすると表示する位置は( X - CX , Y - CY )となる。(スクリーン座標)

カメラの位置が( 0 , 0 )の時はワールド座標どおりの位置に表示されるが、
カメラが右に1ずれる( 1 , 0 ) とキャラクターは1左にずれて表示される。

キャラもマップも同じようにしてあれば、カメラ次第でマップのどこでも自由に表示できるようになる。

って事だよね。

365 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 06:57:02.76 ID:74NPTa8/]
平行移動だけじゃなくて回転やスケーリングやせん断やもうなんでもできるよ!

366 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 09:58:16.44 ID:mO6j71re]
移動、回転、拡縮は行列で出きるとして、せん断ってどういうロジックになるんだ?

367 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 10:17:08.64 ID:74NPTa8/]
普通に行列でできるよ!
基底ベクトルを直交させなければ良いだけだ!
1.0 0.1 0.0
0.0 1.0 0.0
0.0 0.0 1.0

368 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 10:25:37.76 ID:mO6j71re]
>>367
なるほど

369 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 11:01:21.96 ID:/1tfeEwj]
「せん断」って何?

370 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 11:05:08.54 ID:74NPTa8/]
長方形が平行四辺形になるような変形のことだよ!

371 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 11:10:02.01 ID:6nCMYav3]
底の無いダンボールってのはわかりやすい例だよな

372 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 11:57:56.24 ID:GjI1Zcmz]
シアーの方が通じる気がする

373 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 13:59:35.40 ID:cFXLUjPO]
カメラだの行列だの無かったころのゲームだから
その方が理解しやすいよって言ってるだけだよ。

まあ、最初からカメラありきで学んだ人はむしろ理解し辛いのか?



374 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 14:06:05.85 ID:cFXLUjPO]
>>364

ていうかさぁ。

>>352 のソースみてあげなよDXLIBのDrawGraphってそんな概念関係ないよ。

ただのスクリーン座標に絵を置いてるだけ。

375 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 14:19:41.95 ID:cFXLUjPO]
>>360
呼ぶんじゃないの、マの概念なんてみんなバラバラだからね。
そう呼んでる人にはそっちが常識なんだよ。

マ系やプログラム系の板で同じことを言ってるのに
使ってる言葉が違って議論がループなんてザラ

この場合も多分、みんな言いたいことは同じなんだよ。

言葉が違うだけだと思うよ。

376 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 14:53:44.50 ID:GjI1Zcmz]
>>373
マリオみたいに広いマップを探索するようなゲームだと
スクリーン座標ベースの管理は面倒くさそうだけどなー。

実際、黎明期のPGがどういう考え方で組んでいたかどうかまでは知らないけど。

377 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 15:00:51.05 ID:GjI1Zcmz]
あ、ちなみに自分は
www.tamaweb.or.jp/jinzai/071.html
この右側にあるレールカメラ(って言うらしい)のイメージで言ってた。

378 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 15:48:41.51 ID:cFXLUjPO]
>>377
なるほど。理解したわ。ちょっと長文になるが。

俺のような古い頃を知ってるマに言わせると、昔のファミコンやスーパーファミコンの頃の
スーパーマリオのようなゲームの、ただのスクロールの実装にカメラとか言いだす方が違和感を感じるんだよ。
すまんな。

あえて、昔の言葉を使えばBG(バックグラウンド)とSpriteが分れば実装できるんだから。

↓DXLIBのこの例も同じようなもの
homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N4

ファミコンなら
hp.vector.co.jp/authors/VA042397/nes/ppu.html
こんな感じか?ちょっと違うけど。流石にネットにもその辺のテクニックは載ってないわ古過ぎてw
(説明し辛いな。文章じゃ無理だわ)

勘違いしないでほしいのは
今のDirectXやOpenGLの世界ではカメラがないと話しにならないのは知ってるよ。
その辺の3D,2Dゲームも作ってるしな。

関係ないが。
VRAMの定義で、それぞれのマが別々のVRAMの概念を言いだして
話がなんだかわからない方向に行ったのを思い出した。

一人は上記のBGやSPRITEのVRAM
一人はPC98やX68Kの頃のパソコンのVRAM
一人はテクスチャやフレームバッファやZバッファ等の載る今のVRAM
そりゃ、話がかみ合うわけがないw

何にしても、>352さんのゲームが完成することを祈るよ。お子さんの為にもな。

379 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 16:22:34.51 ID:tVuXwvMy]
スクリーン座標とビュー座標と呼べば良かったのかな?
と混ぜっかえしてみる

380 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 16:23:41.72 ID:GjI1Zcmz]
>>378
なるほど、だから>353の時点でスクリーン座標と言ってたのか。

内部的にはワールド座標ベースで考えて、それを表示用に落とすって考え方自体は
3D以前からあるようには思うけれどね。

381 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 16:37:47.36 ID:hefSCrq5]
スーパーマリオみたいな一方通行で逆進できないシステムならワールド座標はいらないかもね。

382 名前:名前は開発中のものです。 [2012/11/23(金) 16:52:57.32 ID:X3Az5vp2]
引き算するだけだからPCの性能とか関係ないよw

383 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 17:34:11.98 ID:tvkINjeP]
N88BASICですらビューポートの概念あるよ
floatの場合無茶な拡大させると誤差の蓄積が問題になることがあるからその場合は原点近くで処理したいけど



384 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 18:17:22.09 ID:tVuXwvMy]
>>382
ワールド座標はマッブが広大になるとメモリーを消費するから、昔のマシンだと厳しいだろ
メモリー1バイトは血の一滴に比例すると言われていた時代もあるし

385 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 18:37:49.31 ID:GjI1Zcmz]
>>384
ああ。
画面に映ってるかどうか関係なく処理できるメリットを活かしにくいとか、
画面内だけなら符合なし1バイトで座標を保持できるけど、全体を考えると2バイトくらい必要になるとか?

386 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 18:57:47.92 ID:tVuXwvMy]
>>385
ああなるほど。
マッブはタイル表示するものだとばっかり考えていたから、その発想は無かったわ。

387 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 19:54:39.19 ID:cFXLUjPO]
>>383
そんなもんあったっけ?ってぐぐったらあったようだなw
30年近く前でまったく覚えてないわ。

あの頃、アクションゲームっていうと機械語オンリーだったのもあるけど。
BASICねー。なつかしいけど。インタープリタで8,16BITじゃ遅すぎるもんな。
シミュレーションや くそ遅っそいRPGとかかね。

コンパイラもあったみただけど。使ったこともないわ。
あの頃のコンパイラの吐くコードなんて使いものにならなかったしw

388 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 19:59:07.69 ID:MSqNZyrV]
お前らいったいいくつなんだよ…

389 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 20:22:07.11 ID:GjI1Zcmz]
0xを付けておきたいお年頃かな

390 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 20:29:01.83 ID:cFXLUjPO]
>>389
そうそう、その辺はおさっし。

391 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 20:45:11.38 ID:6nCMYav3]
現場とか経験したことないとビット積意識する列挙体くらいでしか0x表記したことないな

392 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 21:03:14.64 ID:tVuXwvMy]
フラグ処理で0x表記しまくりですが?
#defineで隠れてはいるケド

393 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 21:26:47.76 ID:e2eqPIhq]
ピチピチの0x20歳です!



394 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 21:27:22.68 ID:Tfq3xGkn]
ゲーム作ってるなら色管理で0x表記はたまにやるはず

395 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 21:35:37.06 ID:cj0uR2IM]
>>394
RGBマクロで0~255しか使わないって人も多いんじゃないかね

396 名前:名前は開発中のものです。 mailto:sage [2012/11/23(金) 21:46:45.61 ID:926N4zcD]
命令セットに乗算なんてありませんでしたが、何か?

397 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 00:05:24.65 ID:2OLw8PRK]
>>396
呼んでないのに、何か?て

398 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 00:18:35.93 ID:o4KqUQfO]
画面スクロール上手くいきました!
プレイヤーも敵キャラも不自然な動作をしなくなりました。
回答していただいたみなさんのおかげです。ありがとうございます。
とりあえずまとも(?)に動くようになったから次は敵の出現タイミングとかを考えます。
プレイヤーがある座標まで来て、対象の敵が表示されていなかったら表示させるみたいな条件で
やろうとしてます。うまいこといけばいいけどー。

399 名前:ジュナイ mailto:sage [2012/11/24(土) 06:54:32.86 ID:QqV0oVKy]
機能の拡張を目的に継承したらダメみたいなの読んだ記憶があるけど、未だに意味がわからない

>>317
もう出てた

400 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 07:14:08.67 ID:E4ngvRbM]
機能の拡張なら継承しないで委譲しろって話だろ
継承の設計上の意味が曖昧になるし、遅くなるし、ミスも多くなるから
class A : public Base{}; じゃなくて、class A{ Base base; };にしろっていう

401 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 07:28:17.27 ID:RKqrxKct]
>>400
「遅くなる」をkwsk

402 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 07:32:37.95 ID:5F9z+6Hu]
オーバヘッドじゃね

403 名前:ジュナイ mailto:sage [2012/11/24(土) 08:22:49.66 ID:W4j3QuI9]
>>400
継承は完全にIs-aかHas-a関係の場合以外は使わない方がいいってことなのか?
継承の例とか見ると拡張してるようにしか見えないときがあるから疑問だったんだ
なんとなくだけど、わかった気がする
解説ありがとう



404 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 08:44:31.65 ID:RKqrxKct]
ケースバイケースだからどっちが正解ってもんじゃないぞ。

ただ最近の流行はinterfaceをよく使う。
C++だと単なるクラスだけど、Java/
C#をやると
interfaceの概念が一番しっくりくる。

405 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 08:59:00.75 ID:nSnY0kez]
C++の場合、virtual関数でもどの関数が呼び出されるのかコンパイル時に分かる場合は
virtualの性能ペナルティはないぞ

406 名前:名前は開発中のものです。 mailto:sage [2012/11/24(土) 11:47:55.57 ID:o4KqUQfO]
ソースがごちゃごちゃしてきた気がする、、、。

アイテム(武器とか回復)をマップの途中や、敵を倒した時にランダムで出す仕様にしようと
思っているけど、プレイヤーにも敵にもマップにも影響するからそれぞれにインスタンス生成
をしなければいけないのかなー。いい案がまだ思いつかない。

プレイヤーや敵キャラの移動処理は共通モジュールでやっているけど、それみたいに
共通化したい。

407 名前:ジュナイ mailto:sage [2012/11/24(土) 12:20:37.64 ID:fxHMnqZg]
>>404
俺の場合、CStringを自作して
それを継承してCStringExを作った
CStringExはCStringの検索機能を追加したもの
>>399
これを読んで問題あるんだなって思ったんだ
ケースバイケースなんだな
あんまり深く考えないことにするよ、ありがとう

408 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 01:32:34.49 ID:vQ6ezv4p]
>>407
安価の付け方が間違ってるのか何なのか、話の流れが読めない

409 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 01:54:12.65 ID:MAutdaKJ]
>>406
それぞれにインスタント生成?なんで?
インスタントは一個でいいでしょ。
ItemManagerなクラス作ってそこで一括管理。
他のクラスはItemManagerへのポインタだけ持ってればいい。

410 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 02:14:05.00 ID:DhagDrvr]
インスタント……?

411 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 02:37:36.83 ID:vQ6ezv4p]
というか個々にインスタンス生成するのは、よくある手法だよな?

412 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 02:42:49.71 ID:YMRxlnml]
**Managerって命名するのやめろ。マジで。
いやしてもいいけどすすめんな。

413 名前:ジュナイ mailto:sage [2012/11/25(日) 05:25:23.73 ID:hEk/IMrv]
>>408

>>407
×399のアンカー
○機能の拡張を目的に継承したらダメ

ふむ、アンカーにしない方がよかったな



414 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 05:48:04.62 ID:vQ6ezv4p]
ああ、そういうことか。
自分のレスを読んで問題に気づいた、と読めて何が何だか分からんかった

415 名前:名前は開発中のものです。 mailto:sage [2012/11/25(日) 09:59:49.84 ID:koi9+vO4]
>>412
なんで?






[ 続きを読む ] / [ 携帯版 ]

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

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