ピクチャーキャラの操作処理
■上下左右に移動 (上向きのみ)


ピクチャーキャラを上下左右に移動する処理です。

向きは移動しても常に上向きになります。



ピクチャーキャラの初期表示位置は「X160、Y120」とし、
移動範囲は「X8〜312」「Y0〜224」とします。





▼ピクチャー1枚で画像1枚+常にアニメーションの設定例の所までジャンプ

▼ピクチャー1枚で画像1枚+移動時にアニメーションの設定例の所までジャンプ

▼ピクチャー1枚で画像数枚+常にアニメーションの設定例の所までジャンプ

▼ピクチャー1枚で画像数枚+移動時にアニメーションの設定例の所までジャンプ


  
●アニメーションなし

ピクチャー 1番
画像見本

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0001:X表示位置]代入,160<Xの初期位置
◆変数の操作:[0002:Y表示位置]代入,112<Yの初期位置
◆ピクチャーの表示:1,主人公,(V[0001],V[0002])
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆キー入力の処理:[0003:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0003:キー]が0<キーが押されていないかもう一度チェック
 ◆キー入力の処理:[0003:キー](上・下・左・右/オプション:OFF)
 ◆条件分岐:変数[0003:キー]が0
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が2<左キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が8以下<これ以上移動させると表示範囲外に出る時
  ◆指定ラベルへ飛ぶ:1番<移動処理を中断
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が3<右キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が312以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]加算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が4<上キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が0以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が1<下キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が224以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]加算,2
 ◆
:分岐終了
◆ピクチャーの移動:1,(V[0001],V[0002]),0.0秒
◆指定ラベルへ飛ぶ:1番


  
●ピクチャー1枚で画像1枚+常にアニメーション

アニメーションは、一定時間ごとに画像が切り替わるようにします。
画像の表示切替時間は、変数[0003:アニメ表示時間]でカウントします。

ピクチャー 1番 2番 3番
変数3番 0〜5 6〜11
18〜23
12〜17
画像見本

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0001:X表示位置]代入,160<Xの初期位置
◆変数の操作:[0002:Y表示位置]代入,112<Yの初期位置
◆ピクチャーの表示:1,主人公01,(160,120)(透明度:100%)
◆ピクチャーの表示:2,主人公02,(V[0001],V[0002])(透明度:0%)
◆ピクチャーの表示:3,主人公03,(160,120)(透明度:100%)
◆変数の操作:[0003:アニメ表示時間]代入,10
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆変数の操作:[0003:アニメ表示時間]加算,1
◆変数の操作:[0003:アニメ表示時間]剰余,24<値を0〜23にする
◆条件分岐:変数[0003:アニメ表示時間]が12より小さい(オプション:ON)
 ◆条件分岐:変数[0003:アニメ表示時間]が6より小さい(オプション:ON)
  ◆ピクチャーの移動:1,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :それ以外の場合<変数3番が6以上の時
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:それ以外の場合<変数3番が12以上の時
 ◆条件分岐:変数[0003:アニメ表示時間]が18より小さい(オプション:ON)
  ◆ピクチャーの移動:3,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :それ以外の場合<変数3番が18以上の時
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了
◆キー入力の処理:[0004:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0004:キー]が0<キーが押されていないかもう一度チェック
 ◆キー入力の処理:[0004:キー](上・下・左・右/オプション:OFF)
 ◆条件分岐:変数[0004:キー]が0
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が2<左キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が8以下<これ以上移動させると表示範囲外に出る時
  ◆指定ラベルへ飛ぶ:1番<移動処理を中断
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が3<右キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が312以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]加算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が4<上キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が0以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が1<下キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が224以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]加算,2
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番


  
●ピクチャー1枚で画像1枚+移動時にアニメーション

アニメーションは、移動時のみ一定時間ごとに画像が切り替わるようにします。
画像の表示切替時間は、変数[0003:アニメ表示時間]でカウントします。

ピクチャー 1番 2番 3番
変数3番 0〜5 6〜11
18〜23
12〜17
画像見本

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0001:X表示位置]代入,160<Xの初期位置
◆変数の操作:[0002:Y表示位置]代入,112<Yの初期位置
◆ピクチャーの表示:1,主人公01,(160,120)(透明度:100%)
◆ピクチャーの表示:2,主人公02,(V[0001],V[0002])(透明度:0%)
◆ピクチャーの表示:3,主人公03,(160,120)(透明度:100%)
◆変数の操作:[0003:アニメ表示時間]代入,10
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆変数の操作:[0003:アニメ表示時間]加算,1
◆変数の操作:[0003:アニメ表示時間]剰余,24<値を0〜23にする
◆条件分岐:変数[0003:アニメ表示時間]が12より小さい(オプション:ON)
 ◆条件分岐:変数[0003:アニメ表示時間]が6より小さい(オプション:ON)
  ◆ピクチャーの移動:1,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :それ以外の場合<変数3番が6以上の時
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:それ以外の場合<変数3番が12以上の時
 ◆条件分岐:変数[0003:アニメ表示時間]が18より小さい(オプション:ON)
  ◆ピクチャーの移動:3,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :それ以外の場合<変数3番が18以上の時
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了
◆キー入力の処理:[0004:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0004:キー]が0<キーが押されていないかもう一度チェック
 ◆キー入力の処理:[0004:キー](上・下・左・右/オプション:OFF)
 ◆条件分岐:変数[0004:キー]が0
  ◆変数の操作:[0003:アニメ表示時間]代入,10<停止中なのでピクチャー2番を表示
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が2<左キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が8以下<これ以上移動させると表示範囲外に出る時
  ◆指定ラベルへ飛ぶ:1番<移動処理を中断
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が3<右キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が312以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]加算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が4<上キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が0以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が1<下キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が224以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]加算,2
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番


  
●ピクチャー1枚で画像数枚+常にアニメーション

アニメーションは、一定時間ごとに画像が切り替わるようにします。
画像の表示切替時間は、変数[0003:アニメ表示時間]でカウントします。

【画像の表示位置を確認】

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0001:X表示位置]代入,160<Xの初期位置
◆変数の操作:[0002:Y表示位置]代入,112<Yの初期位置
◆ピクチャーの表示:1,主人公,(V[0001],V[0002])(透明度:0%)
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆変数の操作:[0003:アニメ表示時間]加算,1
◆変数の操作:[0003:アニメ表示時間]剰余,24<値を0〜23にする
◆変数の操作:[0004:Y表示]代入,変数[0002]の値
◆条件分岐:変数[0003:アニメ表示時間]が12より小さい(オプション:ON)
 ◆条件分岐:変数[0003:アニメ表示時間]が6より小さい(オプション:ON)
  ◆変数の操作:[0004:Y表示]加算,272
  ◆
 :分岐終了
 ◆
:それ以外の場合<変数3番が12以上の時
 ◆条件分岐:変数[0003:アニメ表示時間]が18より小さい(オプション:ON)
  ◆変数の操作:[0004:Y表示]減算,272
  ◆
 :分岐終了
 ◆
:分岐終了
◆ピクチャーの移動:1,(V[0001],V[0004]),0.0秒(透明度:0%)
◆キー入力の処理:[0005:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0005:キー]が0<キーが押されていないかもう一度チェック
 ◆キー入力の処理:[0005:キー](上・下・左・右/オプション:OFF)
 ◆条件分岐:変数[0005:キー]が0
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が2<左キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が8以下<これ以上移動させると表示範囲外に出る時
  ◆指定ラベルへ飛ぶ:1番<移動処理を中断
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が3<右キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が312以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]加算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が4<上キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が0以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が1<下キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が224以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]加算,2
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番


  
●ピクチャー1枚で画像数枚+移動時にアニメーション

アニメーションは、移動時のみ一定時間ごとに画像が切り替わるようにします。
画像の表示切替時間は、変数[0004:アニメ表示時間]でカウントします。

【画像の表示位置を確認】

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0001:X表示位置]代入,160<Xの初期位置
◆変数の操作:[0002:Y表示位置]代入,112<Yの初期位置
◆ピクチャーの表示:1,主人公,(V[0001],V[0002])(透明度:0%)
◆変数の操作:[0003:アニメ表示時間]代入,10
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆変数の操作:[0003:アニメ表示時間]加算,1
◆変数の操作:[0003:アニメ表示時間]剰余,24<値を0〜23にする
◆変数の操作:[0004:Y表示]代入,変数[0002]の値
◆条件分岐:変数[0004:アニメ表示時間]が12より小さい(オプション:ON)
 ◆条件分岐:変数[0003:アニメ表示時間]が6より小さい(オプション:ON)
  ◆変数の操作:[0004:Y表示]加算,272
  ◆
 :分岐終了
 ◆
:それ以外の場合<変数3番が12以上の時
 ◆条件分岐:変数[0003:アニメ表示時間]が18より小さい(オプション:ON)
  ◆変数の操作:[0004:Y表示]減算,272
  ◆
 :分岐終了
 ◆
:分岐終了
◆ピクチャーの移動:1,(V[0001],V[0004]),0.0秒(透明度:0%)
◆キー入力の処理:[0005:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0005:キー]が0<キーが押されていないかもう一度チェック
 ◆キー入力の処理:[0005:キー](上・下・左・右/オプション:OFF)
 ◆条件分岐:変数[0005:キー]が0
  ◆変数の操作:[0003:アニメ表示時間]代入,10<停止中なので真ん中の画像を表示
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が2<左キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が8以下<これ以上移動させると表示範囲外に出る時
  ◆指定ラベルへ飛ぶ:1番<移動処理を中断
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が3<右キーを押した時
 ◆条件分岐:変数[0001:X表示位置]が312以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0001:X表示位置]加算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が4<上キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が0以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]減算,2
 ◆
:分岐終了
◆条件分岐:変数[0003:キー]が1<下キーを押した時
 ◆条件分岐:変数[0002:Y表示位置]が224以上
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆変数の操作:[0002:Y表示位置]加算,2
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:1番



◎関連ページ

●ドット移動処理(ピクチャーキャラ)について
┣○ピクチャーキャラの操作処理
┃┣○左右のみに移動 (上向きのみ)
┃┣○左右のみに移動 (移動時は向き変更)
┃┣○上下左右に移動 (上向きのみ)
┃┗○上下左右に移動 (4方向に向く)
┗○ピクチャーキャラの当たり判定

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