■処理落ちに関するページ(更新:2019/07/14)●主人公の移動がスムーズにできない。他の人のパソコンでは処理落ちが発生している。このような場合に考えられる原因とその対策について紹介します。主人公が全く動かせない時には、以下のページをご覧ください。処理落ちが発生しやすくなります。処理落ちが発生しやすくなります。定期的に並列処理するでピクチャーの表示やBGMの演奏などを連続的に実行しますと、たった1個のイベントコマンドでも処理落ちが発生します。処理落ちは使用するパソコンの性能(処理能力)によっても処理落ち度が異なります。見た目では処理落ちが感じられない可能性があります。出来る限り処理落ちしそうな設定は避けた方が良いでしょう。以下のマップイベントを作成してください。処理落ち状態が確認できないかもしれません。☆重い処理落ちが発生するゲームのプレイが困難になるほどの重い処理落ちが発生する、その原因と処理落ちの対策方法を紹介します。主人公の移動がスムーズに行えなくなるような処理落ちが発生します。半透明(透明度1〜99%)のピクチャーを表示させますと、処理落ちが発生しやすくなります。複数のピクチャー画像を半透明にして重ねて表示するような設定は、なるべく控えた方が良いでしょう。◆BGMの演奏:町1の設定を実行し続けますと処理落ちが発生します。■ラベル、繰り返し処理を使っている定期的に並列処理するの中でラベルの設定や繰り返し処理を使ってループ処理を作った場合、そのループしている間にウェイトの設定が無いと処理落ちが発生します。◆ウェイト:0.0秒を設定しますと、処理落ちが起こらなくなります。※ウェイトを設定しますと、ループ処理の処理速度は遅くなります。※「ピクチャーの移動」などにあるウェイトの設定でも同様の効果が得られます。処理落ちが発生する事があります。指定動作の全実行の代わりにウェイトを設定します。■マップイベントが多いマップイベントが多いと処理落ちが発生しやすくなります。別のマップからそのマップへ移動して来る時間がかかる事があります。マップイベントの数が少なくても、マップイベントの中にたくさんのページが設定してありますと、マップイベントを大量に設定した時と同様に処理落ちが発生します。1つのマップに大量のマップイベントを設定するような制作は、なるべく控えた方が良いでしょう。■イベントの一時消去を実行したマップイベントを呼び出した時イベントの一時消去によって消えているマップイベントのページを、イベントの呼び出しで呼び出して実行しますと、マップイベントに設定されているイベント実行内容の処理速度が遅くなります。この現象は、定期的に並列処理するの中で、イベントの呼び出し(消えたマップイベントの呼び出し)を実行した時に発生します。「60分の1秒(ウェイト:0.0秒)」の時間がかかります。条件分岐の場合は、通過するだけで「60分の2秒」。「60分の3秒+中のイベントコマンド」の時間が遅くなります。このバグの対策は、以下のものがあります。●イベントの一時消去で消したマップイベントのページは呼び出さない。●イベントの一時消去を使わずにイベント出現条件を使って消去する。●マップイベントのイベント実行内容をコモンイベントへ移動して、マップイベントにはイベントの呼び出し(コモンイベントを呼び出す)を置く。☆処理負担を軽減させるテクニック処理負担を軽減させるテクニックの紹介です。実施された方が良いかもしれません。■一括の活用ツクールの処理では、イベントコマンドを1つ1つ処理していきますので、イベントコマンドの数が多ければ多いほど、処理落ちの問題が発生しやすくなります。スイッチの操作や変数の操作では、一括と言う設定方法があります。一括で処理した方が処理負担が軽減されます。◆現在の場所を記憶:[0001],[0002],[0003]を設定の方が処理負担が軽減されます。現在の場所を記憶を使わずに変数の操作を使った方が良いです。当然ながら処理負担は軽減されます。定期的に並列処理するの中には、以下のように設定します。イベントIDを調べる設定になっています。◆:分岐終了と設定した方が良いでしょう。地形IDとイベントIDを取得する変数の番号を同じ番号にしても、イベント処理は問題なく処理されます。同じ変数番号にするのは、あくまで使用する変数番号を少しでも減らしたいと言う、こだわり派の方の設定方法であり、無理に同じ変数番号にする必要はありません。複数の定期的に並列処理するでイベントを処理する方がいます。処理負担は変わりません。逆に定期的に並列処理するの数が増える事で処理負担が増します。出来る限り1つの定期的に並列処理するにまとめた方が良いでしょう。常にイベントの呼び出しで他のイベントを呼び出している設定を行う方がいます。見た目は処理を分けた方が処理効率が良いように見えますが、1回の処理(60分の1秒単位の処理)のイベントコマンドの処理数は変わらない上、イベントの呼び出しの処理が加わってしまい、処理負担が増してしまいます。このような時には、以下のように1つにまとめた方が良いです。コモンイベントに大量のイベントコマンドを設定した複数の定期的に並列処理するを実行しますと、セーブデータの容量が増大し、セーブ画面(ロード画面)を開くのが遅くなる問題が発生する事があります。大量のイベントコマンドを設定した定期的に並列処理するのイベント情報が、セーブデータには保存されなくなります。出来る限りウェイトを設定すると良いでしょう。主人公を発見したと判断するイベント処理になります。主人公が1マス移動するのに、60分の8秒の時間がかかっています。監視イベントの前方に主人公がいるかどうかを8回調べている事になります。監視イベントの処理としては、十分な処理速度が保てます。主人公や監視イベントが4倍速で移動(向き変更)している時には、ウェイトの設定は行わない方が良いかもしれません。◆〜監視イベントB〜◆:分岐終了と設定する方法もあります。この場合、主人公のX座標が9以下の時には、監視イベントAのみが動き、X座標が10以上の時には、監視イベントBのみが動きます。処理負担の軽減に繋がります。■時には逆転な発想で乗り切る!監視イベントで前方3×3のマスを調べる敵キャラを10体設定した場合、ウェイトなどの設定が無ければ、60分の1秒ごとに90マスの主人公の有無を調べる事になります。主人公から3マス先に敵イベントがいると言う事になります。敵キャラ1体ごとに主人公を監視する設定は必要無くなります。同じ1つのシステムでは処理できない場合は、この方法では対応できない事もあります。◆:分岐終了と言ったように、無意味な「それ以外の場合」を設定している方がいます。不要な「それ以外の場合」は設定しない方が良いでしょう。次のイベントコマンドへ移動と言った感じに処理しています。必要な注釈までを無理に消すほどの事ではないですが、あまりに無意味な注釈の設定を行うのはお勧めできません。