トップページgamedev
355コメント114KB

お前らRPGツクールでゲーム作れって LAWルート

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/12/09(金) 12:23:48ID:vkuxb/v8
秩序と法の支配する正しい世界へ
0325名前は開発中のものです。2009/08/09(日) 19:20:40ID:Q40t2ezq
>>323
なんと!既に見ていたか(^o^)スマン


>>319
まだ気になる部分があったので、追加します↓

当たり判定の処理にコストをかけすぎだと思う。
四角形の判定は大変。円形の判定ならずっと節約できる。
自分は円形の判定を使ってる。まあ、四角形の判定に何か
こだわりがあるならしょうがないけど。

あと、ポーズの処理が良くない。色々なところでポーズ用の条件分岐を
つけてラベルで飛ばしてるけど、そんなことする必要は無い。
定期的処理の中で「文章の表示」を使うと、その定期的処理は
「文章の表示」でせき止められて先へ進めないから、これを利用する。
0326名前は開発中のものです。2009/08/09(日) 19:25:23ID:Q40t2ezq
たとえば、3つのコモンイベントcommon0,common1,common2を
それぞれ定期的処理で回すときは、次のように組む。

var stopID=0;

funcion common0(){
if(stopID!=0){return;}
処理;
stopID=1;
}
funcion common1(){
if(stopID!=1){return;}
処理;
stopID=2;
}
funcion common2(){
if(stopID!=2){return;}
処理;
stopID=0;
}

要するに、各コモンイベントの先頭にif(stopID!=**){return;}をつけて、
末尾にはstopID=***;をつける。
こうすると、1つの大きな定期的処理を回しているのと同じことになる。
この状態で、common0〜common2のどこでもいいから「文章の表示」を
入れてやると、この文章が出ている間は、どのコモンイベントも動かない。
つまり、ポーズ用の処理が要らない。単純に「文章の表示」をするだけでいい。
0327名前は開発中のものです。2009/08/09(日) 19:38:28ID:Q40t2ezq
ちなみに、この組み方をすると
・各コモンイベントの間で、処理の順番がズレることが無い。
・各コモンイベントそれぞれが10000ステップまで処理できる(実験済み)。
というメリットがある。
特筆すべきようなデメリットは、今のところ見つかってない。
でも何か落とし穴があるかもしれない(^o^)

次は注意点。この組み方を使うときは、コモンイベントを作る順番に注意が必要。
定期的処理のコモンイベントを複数個作ると、上から順番に処理される。
従って、たとえば次のような順番で組んではいけない。

common1
common0
common2

この順番で組むと、
・最初のフレームではcommon0だけが実行される。
・次のフレームではcommon1,common2が実行される。
という挙動になってしまい、処理が2フレームに
分散してしまう(スローモーションになる)。
■ このスレッドは過去ログ倉庫に格納されています