RPGツクール2000/初心者【サイトトップへ戻る】 ■「自動的に始まる」と「定期的に並列処理する」の違い (更新:2022/03/29) イベント開始条件にある自動的に始まると定期的に並列処理するの違いを説明します。 自動的に始まると定期的に並列処理するは、 両方とも何もキーを押さなくても自動的にイベントが実行されると言った共通点がありますが、 それぞれに長所と短所があり、使用状況に合わせて使い分けます。
■自動的に始まるの特徴 自動的に始まるを実行すると、基本的に主人公の操作はできなくなります。 定期的に並列処理する以外の「決定キーが押されたとき」などが実行している間は、 自動的に始まるは実行できません。 イベント出現条件の条件がイベント処理の途中で満たさなくなっても、 イベント実行内容の最後までイベント処理が実行されます。 また別のマップへ移動しても、 前のマップから実行しているイベントのイベント実行内容の最後まで実行されます。 自動的に始まると定期的に並列処理するが一緒に動いている場合で、 自動的に始まるが実行している間は定期的に並列処理するは実行されませんが、 自動的に始まるの中で文章の表示やウェイトなどを実行して処理が止まっている間は、 定期的に並列処理するが実行されます。 イベントコマンド:文章オプション変更にて、 「ウェイト中に他のイベントを移動させる」のオプションを設定している時には、 自動的に始まるを実行している間でもマップイベントの移動が実行されます。 但し「イベントから触れたとき」は実行されません。 マップイベントで自動的に始まるを設定した場合、 設定内容によっては自動的に始まるでも主人公の移動が可能になる場合があります。 例えば…
但し動作指定に移動処理が無い場合やイベントコマンド:キャラクターの動作指定のあとに、 イベントコマンド:指定動作の全実行がある場合は、主人公の移動はできません。 ▲トップへ戻る▲ ■定期的に並列処理するの特徴 定期的に並列処理するは実行している間も、主人公の移動やマップイベントの実行などができます。 複数の定期的に並列処理するを実行している時には、 1つの定期的に並列処理するの処理が終わった時、 または文章の表示やウェイトなどで処理が止まっている時に、 別の定期的に並列処理するが実行します。 但し他の定期的に並列処理するにも文章の表示があったり、 ピクチャーを操作するイベントコマンドがある場合は、 その定期的に並列処理するも一時停止します。 なおメニュー画面や戦闘画面を表示している時には、 全ての定期的に並列処理するが一時停止します。 イベント出現条件を満たさなくなると、 イベント実行内容の途中でもウェイトなどを実行した時にイベント処理が中断します。 コモンイベントの定期的に並列処理するで、 出現条件スイッチがOFFになってイベント処理が中断した場合、 再び出現条件スイッチがONにするとイベント処理が中断した所から処理が再開されます。 定期的に並列処理するは様々な隠れた仕様があり、 下手に使うと処理落ちやバグなどが発生しやすくなります。 ▲トップへ戻る▲ ■使い分け 基本的に…
■オープニングイベント 自動的に始まるを使います。 自動的に始まるを使う事により、主人公の操作ができなくなるので、 オープニング実行中にプレイヤーの操作で主人公を移動させたり、 メニュー画面を表示させたりする事ができなくなります。 なお、オープニングイベントのような1回しか使わないイベントは、 コモンイベントではなく、マップイベントに設定した方が良いでしょう。 ■取り消しキーやShiftキーを押したら自作メニューを表示する 定期的に並列処理するを使います。 自作メニューを表示している時に主人公の移動ができないようにする時には…
定期的に並列処理すると自動的に始まるの両方を使った設定方法もあります。
別のマップへ移動して自作メニューを表示するような時には、このような処理で作ります。 なお、定期的に並列処理する+自動的に始まるの場合は、 主人公の動きを止める「一時停止」の設定は不要になります。 ■時間や歩数をカウント 定期的に並列処理するを使います。 画面上に時間や歩数などをピクチャで表示するイベントや、 朝昼夕夜で画面の色を変化させるイベントを作る場合も定期的に並列処理するを使います。 【歩くと実行するイベントの作り方を見る】 【時間イベントの作り方を見る】 ■自作戦闘(自作システム) プレイヤーが主人公を操作して戦闘を行う場合(アクションRPGなど)は、 定期的に並列処理するを使います。 プレイヤーが主人公を操作しないで戦闘を行う場合(自作フロントビューなど)は、 自動的に始まるを使います。 ▲トップへ戻る▲ ■1回だけ実行させる 自動的に始まるも定期的に並列処理するもイベント出現条件が満たされている限り、 何度でも実行されます。 オープニングイベントなどの1回しか実行されないイベントを設定する場合は、 イベント出現条件を設定しないと、何度もオープニングイベントが実行するバグが発生します。 基本的な設定は以下のようにマップイベントに2ページを設定して処理します。 ▼1ページ目の設定 ▼2ページ目の設定 ゲーム開始時は全てのスイッチがOFFの状態であるため、 上の設定の場合は、まずは1ページ目が実行されます。 そして1ページ目の最後にある…
マップイベントには、 ページ番号の大きいページのみが出現する(実行する)と言った仕様があるため、 2ページ目が出現し続けている限り、再び1ページ目が実行される事はありません。 【オープニングイベントの作り方を見る】 ▲トップへ戻る▲ ■イベント処理は1つずつ行われる 自動的に始まると定期的に並列処理するを同時に実行した場合、 または複数の定期的に並列処理するを同時に実行した場合、 イベントは1つずつ順番に処理されています。 例えば…
途中にウェイトが挟まる場合は…
なお、定期的に並列処理するAのウェイトの時間が長い場合は、 定期的に並列処理するAの処理が止まっている間は、 定期的に並列処理するBの処理が何度も実行されます。 ▲トップへ戻る▲ ■定期的に並列処理するの処理落ち対策について 定期的に並列処理するは処理落ちが発生しやすく、 特に複数の定期的に並列処理するが同時に動いていたり、 1つの定期的に並列処理するに大量のイベントコマンドが設定されている場合は、 処理落ちが発生しやすくなります。 処理落ちはゲームを動かすパソコンの処理能力なども関係してくるため、 ゲームを制作しているパソコンでは処理落ちが目立たなくても、 プレイヤーのパソコンでは処理落ちが目立つ事があります。 基本的に60分の1秒単位で処理する必要が無い定期的に並列処理するには…
以下はウェイトを設定した方が良い場合と設定しない方が良い場合の一例です。
ウェイトを設定する以外の処理落ち対策として、 既に実行していて二重に実行する必要が無いイベントコマンドに関しては、 出来る限り二重に実行しないように設定するのも有効的な対策になります。 特に「ピクチャーの表示」のような処理落ちが発生しやすいイベントコマンドに関しては、例えば…
処理落ちの軽減に繋がります。 ▲トップへ戻る▲ ■セーブデータへの保存について 何らかのイベントが実行している時にセーブを実行すると、 実行中のイベント情報がセーブデータに保存されます。 定期的に並列処理する以外の自動的に始まるや決定キーが押されたときの場合は、 イベント処理が終了すると、セーブデータにはイベント情報が保存されなくなりますが、 定期的に並列処理するの場合は、イベント出現条件を満たさなくなったあとでも、 セーブデータには定期的に並列処理するのイベント情報が保存されます。 そのため、大量のイベントコマンドを設定した複数の定期的に並列処理するを実行すると、 セーブデータの容量が大きくなり、セーブ画面(ロード画面)を開くのが遅くなる可能性があります。 ▲トップへ戻る▲ ■補足 一度処理が終了して、再びイベント実行内容の一番上から実行されるまでは、 約60分の1秒の時間がかかります。 自動的に始まると定期的に並列処理するを同時に実行した時には、 定期的に並列処理するの方が先に実行されます。 ▲トップへ戻る▲ ◎関連ページ ●ツクールの仕様 ●オープニングを作る |