RPGツクール2000/初心者
■「自動的に始まる」と「定期的に並列処理する」の違い
(更新:2015/11/21)


イベント開始条件にある自動的に始まる定期的に並列処理するの違いを説明します。



自動的に始まる定期的に並列処理するは、
両方とも何もキーを押さなくても自動的にイベントが実行されると言った共通点がありますが、
それぞれに長所短所があり、使用状況に合わせて使い分けます。



☆自動的に始まるの特徴
自動的に始まるを実行しますと、基本的に主人公の操作ができなくなります。



定期的に並列処理する以外のイベント開始条件のイベントを実行している時には、
自動的に始まるの実行はできません。
また自動的に始まるを実行している時には、イベント実行内容の最後まで処理するまでは、
他の自動的に始まるのイベントは実行できません。



イベント出現条件の条件がイベント処理の途中で満たさなくなっても、
イベント実行内容の最後までイベント処理が続きます。
※別のマップへ移動しても、前のマップの処理が続きます。



自動的に始まる定期的に並列処理するが一緒に動いている時には、
自動的に始まるの中で文章の表示ウェイトなどを実行して、
処理が止まっている間は、定期的に並列処理するが実行されます。



イベントコマンド:文章オプション変更にて、
ウェイト中に他のイベントを移動させるのオプションを設定している時には、
自動的に始まるを実行している時でもマップイベントの移動などが行われます。
但し、イベント開始条件「イベントから触れたとき」は実行されません。



マップイベントで自動的に始まるを設定した場合、
設定によっては自動的に始まるでも主人公の移動が可能になる場合があります。
■マップイベント
イベント開始条件:自動的に始まる
◆キャラクターの動作指定:このイベント,右に移動

この設定の場合は、主人公の移動が可能になります。
但し、動作指定に移動処理が無い場合イベントコマンド:キャラクターの動作指定の下に、
イベントコマンド:指定動作の全実行がある場合は、主人公の移動はできません。



☆定期的に並列処理するの特徴
定期的に並列処理するを実行している間も、
主人公の操作(メニュー画面を開くなど)ができます。



複数の定期的に並列処理するを実行している時には、
1つの定期的に並列処理するの処理が終わった時、
または文章の表示ウェイトなどで処理が止まっている時には、
他の定期的に並列処理するが実行されます。
但し、他の定期的に並列処理するにも文章の表示があったり、
ピクチャーを操作するイベントコマンドがありますと、
その定期的に並列処理するの処理も停止します。



イベント出現条件を満たさなくなりますとイベント実行内容の途中でも、
ウェイトなどを実行した時にイベント処理が中断します。



コモンイベントで実行する定期的に並列処理するでは、
出現条件スイッチがOFFになってイベント処理が中断しますと、
再び出現条件スイッチがONになった時には、
イベント処理が中断した所から処理が再開されます。

定期的に並列処理するには様々な仕様があり、
下手に使うと処理落ちやバグなどの問題を発生させます。
【ツクールの仕様のページを開く】



☆使い分け
基本的に、
主人公の操作(移動やメニュー表示)ができる定期的に並列処理する
主人公の操作(移動やメニュー表示)ができない自動的に始まる
と言った使い分けをします。



■オープニングイベント
自動的に始まるを使います。
自動的に始まるを使う事により、主人公の移動ができなくなり、
オープニング実行中に勝手にプレイヤーが主人公を操作してしまう問題が無くなります。
なお、オープニングイベントのような1回しか使わないイベントは、
コモンイベントではなく、マップイベントに設定した方が良いでしょう。



■取り消しキーやShiftキーを押したら自作メニューを表示する
定期的に並列処理するを使います。
自作メニューを表示している時に主人公の移動ができないようにする時には、
◆キャラクターの動作指定:主人公,一時停止(動作を繰り返す:ON)
を実行します。
指定動作の全解除で再び移動ができるようになります。

定期的に並列処理する自動的に始まるの両方を使った設定方法もあります。
☆定期的に並列処理する
◆条件分岐:スイッチ[0001:自作メニュー起動]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆キー入力の処理:[0001:キー入力](オプション:ON)
◆スイッチの操作:[0001:自作メニュー起動]をONにする
☆自動的に始まる(出現条件スイッチ:[0001:自作メニュー起動])
◆〜自作メニューの処理〜

※自作メニューを閉じたらスイッチ0001番をOFF。
別のマップへ移動して自作メニューを表示するような時には、このような処理で作ります。
なお、定期的に並列処理する自動的に始まるの場合は、
主人公の動きを止める「一時停止」の設定は不要になります。



■主人公のHPやMPを表示するイベント
基本的に定期的に並列処理するを使います。

自作戦闘のアクションRPGなどでは、
現在の主人公のHPを定期的に並列処理するで監視して、
HPの数値が変わった時にHPの表示が変わるように設定します。

同じ自作戦闘でも自動的に始まるで処理している自作フロントビューなどの場合は、
イベントコマンド:イベントの呼び出しを使ってHPの表示イベントを呼び出し、
HPの表示を変える方法も使われます。



■自作システム(自作戦闘)
自作フロントビューなどの場合は、自動的に始まるを使います。
アクションRPGなどのプレイヤーが主人公キャラを移動させるタイプの自作戦闘では、
定期的に並列処理するを使います。

パズルゲームなどの自作システムを動かす場合は、
主人公キャラが移動する場合は、定期的に並列処理するを使い、
主人公キャラが移動しない場合は、自動的に始まるを使います。

主人公キャラの移動はイベントコマンド:キャラクターの動作指定を使う事で、
一応自動的に始まるを実行している時でも移動させる事ができます。
そのために「主人公が移動する=定期的に並列処理するを使う」とは言えず、
状況に合わせて定期的に並列処理する自動的に始まるを使い分けます。



☆1回だけ実行させる
自動的に始まる定期的に並列処理するイベント出現条件が満たされている限り、
何度でも実行されます。



オープニングイベントなどの1回だけ実行したいイベントを設定する場合は、
イベント出現条件を設定しないと、オープニングイベントが何度も実行されるバグが発生します。

基本的な設定としてはマップイベントに2ページを用意して、以下のように設定します。
▼1ページ目の設定


▼2ページ目の設定


ゲーム開始時は全てのスイッチがOFF状態であるため、
上記の設定の場合、まず1ページ目が実行されます。

そして1ページ目の最後に、
◆スイッチの操作:[0001:オープニング終了]をONにする
が実行され、2ページ目が出現します。

マップイベントには、
ページ番号の大きいページのみが出現する(実行する)と言った仕様がありますので、
2ページ目が出現し続けている限り、1ページ目が実行される事はありません。

*補足*
オープニングイベントの場合、オープニング専用のマップを用意して、
オープニングが終わったら通常のマップへ移動してゲームを開始すると言った方法もあります。
この場合は自動的に始まるの処理を止めるような設定は必要ありません。



☆イベント処理は1つずつ行われる
自動的に始まる定期的に並列処理するを同時に実行した場合、
または複数の定期的に並列処理するを同時に実行した場合、
イベントは1つずつ順番に処理されています。

例えば、
定期的に並列処理するA 定期的に並列処理するB
 ◆変数の操作:[0001]加算,1
 ◆変数の操作:[0001]加算,1
 ◆変数の操作:[0001]加算,1
 ◆
 ◆変数の操作:[0002]加算,1
 ◆変数の操作:[0002]加算,1
 ◆変数の操作:[0002]加算,1
 ◆
と言った処理を同時に実行した場合は、
定期的に並列処理するA 定期的に並列処理するB
◆変数の操作:[0001]加算,1
◆変数の操作:[0001]加算,1
◆変数の操作:[0001]加算,1
 ◆
◆変数の操作:[0002]加算,1
◆変数の操作:[0002]加算,1
◆変数の操作:[0002]加算,1
 ◆
と言った順番に処理されます。

ウェイトが挟まる場合は、
定期的に並列処理するA 定期的に並列処理するB
◆変数の操作:[0001]加算,1
◆変数の操作:[0001]加算,1
◆ウェイト:0.0秒
◆変数の操作:[0001]加算,1
 ◆
◆変数の操作:[0002]加算,1
◆変数の操作:[0002]加算,1
◆変数の操作:[0002]加算,1
 ◆
と言った順番に処理されます。

なお、定期的に並列処理するAのウェイトの時間が長い場合は、
定期的に並列処理するAの処理が止まっている間は、
定期的に並列処理するBの処理が何度も実行されます。



☆補足
一度処理が終了して、再びイベント実行内容の一番上から実行されるまでは、
約60分の1秒の時間がかかります。

自動的に始まる定期的に並列処理するを同時に実行した時には、
定期的に並列処理するの方が先に実行されます。



◎関連ページ
 ●ツクールの仕様
 ●オープニングを作る


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール