トップページ > プログラム > 2015年01月07日 > VUZocriK

書き込み順位&時間帯一覧

10 位/183 ID中時間01234567891011121314151617181920212223Total
書き込み数2100000000000000000001004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ゲームプログラムなら俺に聞け30

書き込みレス一覧

ゲームプログラムなら俺に聞け30
800 :デフォルトの名無しさん[sage]:2015/01/07(水) 00:25:42.55 ID:VUZocriK
フレーム管理だろうが、可変フレームレートだろうが
drawは完全に内部の処理をいきなり描画できるものがいいよ

>>789
そもそも実行順番って
init();//初期化 初期値・初期位置
draw();//0フレーム目描画
run();//1フレーム目処理
draw();//1フレーム目描画
run();//2フレーム目処理
draw();//2フレーム目描画
 ・
 ・
 ・
じゃねぇのけ?
init();をやっての直後にdraw();を呼べば
すべてが初期位置に配置されてるはずなんだよね?

でもたった1フレーム面倒だからinit();直後のdraw();は
呼んでない的な
ゲームプログラムなら俺に聞け30
801 :デフォルトの名無しさん[sage]:2015/01/07(水) 00:41:53.95 ID:VUZocriK
そんなの気になるなら
STGで
弾を発生したフレームが0フレーム目なのか?
弾を発生した次のフレームが0フレーム目なのか?
のほうが気になるじゃないか
とくにシーン側で
ケース1
jiki.run();//内部で弾A発生
for(int i=0;i<tamanum;i++)tama.run();//弾処理(弾Aの処理が入る)
for(int i=0;i<tekinum;i++)teki.run();//内部で弾B発生

ケース2
for(int i=0;i<tamanum;i++)tama.run();//弾処理(当然弾Aの処理はない)
jiki.run();//内部で弾A発生
for(int i=0;i<tekinum;i++)teki.run();//内部で弾B発生

でケース1のように記述した場合、
弾Aの0フレーム目が描画されなくてダサい
しかも、弾Bの0フレーム目は描画されてさらにダサい
厳密にテストされると指定した位置に弾が発生しないとかいう
バグ票切られる
ゲームプログラムなら俺に聞け30
803 :デフォルトの名無しさん[sage]:2015/01/07(水) 01:29:54.77 ID:VUZocriK
>>802
>ここでframeが0〜119なら大丈夫だが、1〜120だとヤヴァイのは言わなくても分かるよな?
なにかまずいっけ?
ゲームプログラムなら俺に聞け30
813 :デフォルトの名無しさん[sage]:2015/01/07(水) 21:53:22.08 ID:VUZocriK
>>810
>キャラが移動計算中の場合、変な状態で描画されないように配慮が必要ってことですか?
そういう心配はないよ

フレーム管理で処理した場合
PCの性能や体調(?)によって次の内部の処理が実行されるまでに
実時間と処理フレームにやたらと乖離が発生してしまう場合がある
完全にオフラインのゲームであれば内部処理を複数回実行して
処理を進めることは必須ではないんだけど
ネットワーク対応が必要なリアルタイムなゲームだと処理の遅いPCのプレイヤーの
キャラは足も動作も遅い(笑)ってなっちゃうでしょ?
だから実時間に合わせてなるべく進めてやるような処理をするわけ
STGはネットワーク対応なんてないから処理オチすると
スローモーションになったほうが好きってのもあるかもね

上記のようなことをするときに内部処理複数回実行してから描画とか
やる必要があるわけ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。