マップサイズが「横=20マス」「縦=15マス」の設定例です。

追加設定は黄色の部分になります。



変数
番号 名前 使用内容
0001 X座標の差:方向 X座標の移動方向を確認する時に使用
0002 Y座標の差:方向 Y座標の移動方向を確認する時に使用
0003 Y座標の差:距離 Y座標の距離を確認する時に使用
0004 X座標の差:距離 X座標の距離を確認する時に使用
0005 乱数 移動方向をランダムで設定する時に使用
0006 XY イベントの現在位置を確認する時に使用
0007 距離チェック マップループでの反対側の距離を調べる時に使用
  
0101〜200 イベントの移動時間を設定
0201〜300 イベントの現在位置を設定



■マップイベント「移動処理」

▼1ページ目
イベント出現条件:必要ならば設定
イベント開始条件:定期的に並列処理する
◆変数の操作:[0101〜0101]減算,1
◆注釈:■■■■■■■■■■■■■■■■■■■■■■■■■■■■
:  :▼移動キャラ01
:  : 

◆条件分岐:変数[0101:移動カウント:01]が0以下
 ◆変数の操作:[0101:移動カウント:01]代入,16
 ◆変数の操作:[0201:XY:01]代入,移動キャラ01のX座標
 ◆変数の操作:[0201:XY:01]乗算,1000
 ◆変数の操作:[0201:XY:01]加算,移動キャラ01のY座標
 ◆変数の操作:[0001〜0004]代入,主人公のX座標
 ◆変数の操作:[0001〜0004]減算,移動キャラ01のX座標
 ◆変数の操作:[0002〜0003]代入,主人公のY座標
 ◆変数の操作:[0002〜0003]減算,移動キャラ01のY座標
 ◆条件分岐:変数[0003:Y座標の差:距離]が-1以下
  ◆変数の操作:[0003:Y座標の差:距離]乗算,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0004:X座標の差:距離]が-1以下
  ◆変数の操作:[0004:X座標の差:距離]乗算,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:X座標の差:方向]が-1以下(オプション:ON)<横ループ用
  ◆変数の操作:[0007:距離チャック]代入,主人公のX座標
  ◆変数の操作:[0007:距離チャック]加算,20<横のマス数を加算
  ◆変数の操作:[0007:距離チャック]減算,移動キャラ01のX座標
  ◆条件分岐:変数[0007:距離チャック]がV[0004]より小さい<ループした方が距離が短い時
   ◆変数の操作:[0001:X座標の差:方向]代入,変数[0007]の値
   ◆変数の操作:[0004:X座標の差:距離]代入,変数[0007]の値
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆変数の操作:[0007:距離チャック]代入,移動キャラ01のX座標
  ◆変数の操作:[0007:距離チャック]加算,20
  ◆変数の操作:[0007:距離チャック]減算,主人公のX座標
  ◆条件分岐:変数[0007:距離チャック]がV[0004]より小さい
   ◆変数の操作:[0001:X座標の差:方向]代入,変数[0007]の値
   ◆変数の操作:[0001:X座標の差:方向]乗算,-1
   ◆変数の操作:[0004:X座標の差:距離]代入,変数[0007]の値
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)<縦ループ用
  ◆変数の操作:[0007:距離チャック]代入,主人公のY座標
  ◆変数の操作:[0007:距離チャック]加算,15<縦のマス数を加算
  ◆変数の操作:[0007:距離チャック]減算,移動キャラ01のY座標
  ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
   ◆変数の操作:[0002〜0003]代入,変数[0007]の値
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆変数の操作:[0007:距離チャック]代入,移動キャラ01のY座標
  ◆変数の操作:[0007:距離チャック]加算,15
  ◆変数の操作:[0007:距離チャック]減算,主人公のY座標
  ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
   ◆変数の操作:[0002〜0003]代入,変数[0007]の値
   ◆変数の操作:[0002:Y座標の差:方向]乗算,-1
   ◆
  :分岐終了
  ◆
 :分岐終了

 ◆条件分岐:変数[0003:Y座標の差:距離]がV[0004]と同値(オプション:ON)
  ◆注釈:■■■■■■■■■■■■■■
  :  :▼XとYが同じ距離
  :  : 

  ◆条件分岐:変数[0004:X座標の差:距離]が0(オプション:ON)
   ◆注釈:▼到着地点に到着
   ◆
  :それ以外の場合
   ◆変数の操作:[0005:乱数]代入,乱数[0〜1]
   ◆条件分岐:変数[0005:乱数]が0(オプション:ON)
    ◆注釈:▼左右移動
    ◆条件分岐:変数[0001:X座標の差:方向]が-1以下(オプション:ON)
     ◆キャラクターの動作指定:移動キャラ01,左を向く,一歩前進
     ◆
    :それ以外の場合
     ◆キャラクターの動作指定:移動キャラ01,右を向く,一歩前進
     ◆
    :分岐終了
    ◆
   :それ以外の場合
    ◆注釈:▼上下移動
    ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
     ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
     ◆
    :それ以外の場合
     ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
     ◆
    :分岐終了
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆条件分岐:変数[0004:X座標の差:距離]がV[0003]以上(オプション:ON)
   ◆注釈:■■■■■■■■■■■■■■
   :  :▼Xの方が遠い
   :  : 

   ◆条件分岐:変数[0001:X座標の差:方向]が-1以下(オプション:ON)
    ◆キャラクターの動作指定:移動キャラ01,左を向く,一歩前進
    ◆
   :それ以外の場合
    ◆キャラクターの動作指定:移動キャラ01,右を向く,一歩前進
    ◆
   :分岐終了
   ◆
  :それ以外の場合
   ◆注釈:■■■■■■■■■■■■■■
   :  :▼Yの方が遠い
   :  : 

   ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
    ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
    ◆
   :それ以外の場合
    ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:それ以外の場合
 ◆条件分岐:変数[0101:移動カウント:01]が15
  ◆変数の操作:[0006:XY]代入,移動キャラ01のX座標
  ◆変数の操作:[0006:XY]乗算,1000
  ◆変数の操作:[0006:XY]加算,移動キャラ01のY座標
  ◆条件分岐:変数[0201:XY:01]がV[0006]と同値
   ◆注釈:■■■■■■■■■■■■■■
   :  :▼移動していない
   :  : 

   ◆変数の操作:[0101:移動カウント:01]代入,16
   ◆条件分岐:移動キャラ01が左を向いている(オプション:ON)
    ◆変数の操作:[0002:Y座標の差:方向]代入,主人公のY座標
    ◆変数の操作:[0002:Y座標の差:方向]減算,移動キャラ01のY座標
    ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
     ◆変数の操作:[0007:距離チャック]代入,主人公のY座標
     ◆変数の操作:[0007:距離チャック]加算,15
     ◆変数の操作:[0007:距離チャック]減算,移動キャラ01のY座標
     ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
      ◆変数の操作:[0002:Y座標の差:方向]代入,変数[0007]の値
      ◆
     :分岐終了
     ◆
    :それ以外の場合
     ◆変数の操作:[0007:距離チャック]代入,移動キャラ01のY座標
     ◆変数の操作:[0007:距離チャック]加算,15
     ◆変数の操作:[0007:距離チャック]減算,主人公のY座標
     ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
      ◆変数の操作:[0002:Y座標の差:方向]代入,変数[0007]の値
      ◆変数の操作:[0002:Y座標の差:方向]乗算,-1
      ◆
     :分岐終了
     ◆
    :分岐終了

    ◆条件分岐:変数[0002:Y座標の差:方向]が0(オプション:ON)
     ◆変数の操作:[0005:乱数]代入,乱数[0〜1]
     ◆条件分岐:変数[0005:乱数]が0(オプション:ON)
      ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
      ◆
     :それ以外の場合
      ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
      ◆
     :分岐終了
     ◆
    :それ以外の場合
     ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
      ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
      ◆
     :それ以外の場合
      ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
      ◆
     :分岐終了
     ◆
    :分岐終了
    ◆
   :それ以外の場合
    ◆条件分岐:移動キャラ01が右を向いている(オプション:ON)
     ◆変数の操作:[0002:Y座標の差:方向]代入,主人公のY座標
     ◆変数の操作:[0002:Y座標の差:方向]減算,移動キャラ01のY座標
     ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
      ◆変数の操作:[0007:距離チャック]代入,主人公のY座標
      ◆変数の操作:[0007:距離チャック]加算,15
      ◆変数の操作:[0007:距離チャック]減算,移動キャラ01のY座標
      ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
       ◆変数の操作:[0002:Y座標の差:方向]代入,変数[0007]の値
       ◆
      :分岐終了
      ◆
     :それ以外の場合
      ◆変数の操作:[0007:距離チャック]代入,移動キャラ01のY座標
      ◆変数の操作:[0007:距離チャック]加算,15
      ◆変数の操作:[0007:距離チャック]減算,主人公のY座標
      ◆条件分岐:変数[0007:距離チャック]がV[0003]より小さい
       ◆変数の操作:[0002:Y座標の差:方向]代入,変数[0007]の値
       ◆変数の操作:[0002:Y座標の差:方向]乗算,-1
       ◆
      :分岐終了
      ◆
     :分岐終了

     ◆条件分岐:変数[0002:Y座標の差:方向]が0(オプション:ON)
      ◆変数の操作:[0005:乱数]代入,乱数[0〜1]
      ◆条件分岐:変数[0005:乱数]が0(オプション:ON)
       ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
       ◆
      :それ以外の場合
       ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
       ◆
      :分岐終了
      ◆
     :それ以外の場合
      ◆条件分岐:変数[0002:Y座標の差:方向]が-1以下(オプション:ON)
       ◆キャラクターの動作指定:移動キャラ01,上を向く,一歩前進
       ◆
      :それ以外の場合
       ◆キャラクターの動作指定:移動キャラ01,下を向く,一歩前進
       ◆
      :分岐終了
      ◆
     :分岐終了
     ◆
    :それ以外の場合
     ◆変数の操作:[0001:X座標の差:方向]代入,主人公のX座標
     ◆変数の操作:[0001:X座標の差:方向]減算,移動キャラ01のX座標
      ◆条件分岐:変数[0001:X座標の差:方向]が-1以下(オプション:ON)
       ◆変数の操作:[0007:距離チャック]代入,主人公のX座標
       ◆変数の操作:[0007:距離チャック]加算,20
       ◆変数の操作:[0007:距離チャック]減算,移動キャラ01のX座標
       ◆条件分岐:変数[0007:距離チャック]がV[0004]より小さい
        ◆変数の操作:[0001:X座標の差:方向]代入,変数[0007]の値
        ◆変数の操作:[0004:X座標の差:距離]代入,変数[0007]の値
        ◆
       :分岐終了
       ◆
      :それ以外の場合
       ◆変数の操作:[0007:距離チャック]代入,移動キャラ01のX座標
       ◆変数の操作:[0007:距離チャック]加算,20
       ◆変数の操作:[0007:距離チャック]減算,主人公のX座標
       ◆条件分岐:変数[0007:距離チャック]がV[0004]より小さい
        ◆変数の操作:[0001:X座標の差:方向]代入,変数[0007]の値
        ◆変数の操作:[0001:X座標の差:方向]乗算,-1
        ◆変数の操作:[0004:X座標の差:距離]代入,変数[0007]の値
        ◆
       :分岐終了
       ◆
      :分岐終了

     ◆条件分岐:変数[0001:X座標の差:方向]が0(オプション:ON)
      ◆変数の操作:[0005:乱数]代入,乱数[0〜1]
      ◆条件分岐:変数[0005:乱数]が0(オプション:ON)
       ◆キャラクターの動作指定:移動キャラ01,左を向く,一歩前進
       ◆
      :それ以外の場合
       ◆キャラクターの動作指定:移動キャラ01,右を向く,一歩前進
       ◆
      :分岐終了
      ◆
     :それ以外の場合
      ◆条件分岐:変数[0001:X座標の差:方向]が-1以下(オプション:ON)
       ◆キャラクターの動作指定:移動キャラ01,左を向く,一歩前進
       ◆
      :それ以外の場合
       ◆キャラクターの動作指定:移動キャラ01,右を向く,一歩前進
       ◆
      :分岐終了
      ◆
     :分岐終了
     ◆
    :分岐終了
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了


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