サンプル用コモンイベント のバックアップ差分(No.3)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
-コモンイベントを自作するや改造するときなどに参考にするコード。
-要バックアップ。別途にWRPGを入れて使うのがいいか(?)。
-※こちらはテキストベースです。コモンファイルのものは[[自作コモンイベント]]に追加編集してください。

#contents

**アニメーションのサンプル例 [#e9f0edc5]

//更新時メモ
//08-11-04
//いくら視覚的に分かりやすくても煩雑になってきているので改良を考え中。それと解説がおかしい箇所は直してくださいorz


*アニメーションのサンプル例 [#e9f0edc5]
-ピクチャ番号10000を使って5フレーム間隔でアニメーションさせるコモン。
-ピクチャ番号や各Evセルフは必要に応じて変更。

 入力は整数:4
 文字列:1でセルフ0,1が表示座標
 文字列:2,3が画像の分割数,5が画像ファイル名

 ■変数操作: このコモンEvセルフ4 = このコモンEvセルフ2 * このコモンEvセルフ3
 ■ピクチャ表示:10000 ファイル(このコモンEvセルフ5) X:このコモンEvセルフ0 Y:このコモンEvセルフ1 0(0)フレーム ※位置は中心
 ■変数操作: このコモンEvセルフ10 = 1 + 0
 ■変数操作: このコモンEvセルフ11 = 0 + 0
 ■回数付きループ [ このコモンEvセルフ4 ]回
 |■ピクチャ移動:10000 相対X:0 Y:0 0(このコモンEvセルフ11)フレーム ※パターンはこのコモンEvセルフ10,他は同値
 |■変数操作: このコモンEvセルフ10 += 1 + 0
 |■変数操作: このコモンEvセルフ11 += 5 + 0
 |■
 ◇ループここまで
 ◇ループここまで◇
 ■ピクチャ消去:10000  0(このコモンEvセルフ11)フレーム
 ■

**ロード時、最後にセーブしたデータに初期位置を合わせる改造例 [#e9458fce]
*ロード時、最後にセーブしたデータに初期位置を合わせる改造例 [#e9458fce]
-コモンEV054 323行目に以下を追加(目印は「▼ セーブの場合」)
-各セーブデータのこの変数を比較し、最も数値の大きい位置にカーソルを合わせる。

 |||■変数操作: このコモンEvセルフ51 = Sys77:現在の[年] * 10000
 |||■変数操作: このコモンEvセルフ51 += Sys78:現在の[月] * 100
 |||■変数操作: このコモンEvセルフ51 += Sys79:現在の[日] + 0
 |||■変数操作: このコモンEvセルフ52 = Sys80:現在の[時] * 10000
 |||■変数操作: このコモンEvセルフ52 += Sys81:現在の[分] * 100
 |||■変数操作: このコモンEvセルフ52 += Sys82:現在の[秒] + 0

**タイトル画面の前にロゴを表示してみる [#l2e17f96]
-一種の遊び(作者の試験的なコード)なので実用的なコモンではない。
*タイトル画面の前にロゴを表示してみる [#l2e17f96]
-最初に読み出されるマップは0番なので0番のイベントから呼び出すなり書き込むなりする。
-タイトルに戻るを選ぶと毎回ロゴが表示されて喧しいのでタイトル画面をマップ1番に指定している。
-ピクチャ表示番号やウェイト数値は任意のものを指定する(サンプルは0番)。

 Evセルフ5=ロゴファイルを指定
 Evセルフ6=ブラックアウトなら黒塗り画像。ホワイトアウトなら白塗り画像を指定
 

 ■トランジションタイプ指定:[なんかのトランジション]100フレーム
 ■トランジション準備
 ■トランジション実行
 ■ピクチャ表示:0ファイル (このコモンEvセルフ5) X:0 Y:0 0(0)フレーム ※位置は中心
 ■ウェイト:100
 ■トランジション指定:[なんかのトランジション]100フレーム
 ■トランジション準備
 ■トランジション実行
 ■ピクチャ消去:0(0フレーム)
 ■ピクチャ表示:0ファイル (このコモンEvセルフ6) X:0 Y:0 0(0)フレーム ※位置は中心
 ■ウェイト:100
  ■ピクチャ消去:1(0フレーム)
 ■ピクチャ消去:1(0フレーム)
 ■トランジションタイプ指定:[瞬間移動]50フレーム
 ■トランジション準備
 ■場所移動 マップ1番 位置適当
 ■トランジション実行
 ▼以降タイトル画面起動時のイベントをがちゃがちゃ挿入


*キーを押したときに動するイベントと押し続けた場合の変数を求める [#ga9598f2]
-サンプルでは「決定キー」となっているが変更すれば特定キーでイベントを起こせる。
-押された分の変数を求めているので求めた変数を用いて色々動かせる。

**押しただけの場合を取り扱う一例 [#ke7cf6f7]
-「入力待ち」ではないので押しっぱなしにしても動く

 コモンEvセルフ0は決定キー(10)が押されているか否か
 コモンEvセルフ1は現在イベントを実行中か否か

 ■ループ開始
 |■キー入力:このコモンEvセルフ変数0 / 決定(10)
 |■条件分岐(変数):【1】このコモンEvセルフ0がこのコモンEvセルフ1以外
 |◇分岐: 【1】[このコモンEvセルフ0がこのコモンEvセルフ1以外]の場合↓
 ||■条件分岐(変数): 【1】このコモンEvセルフ0が10と同じ
 ||◇分岐: 【1】[このコモンEvセルフ0が10と同じ]の場合↓
 |||■処理実行
 ||◇分岐終了◇
 ||■
 |◇分岐終了◇
 |■変数操作: このコモンEvセルフ1 = このコモンEvセルフ0 + 0
 |■ウェイト:1 フレーム
 |■
 ◇ループここまで◇


**押し続けていた場合の変数を求めてみる一例 [#y8c0e438]
-通常変数V0を用いてどれだけ決定キーが押されているかを調べるサンプル。

 V0とは決定キーを押し続けていた場合に変動する変数(初期値0/上限2)
 こちらは1ずつ加算される。

 ■キー入力:このコモンEvセルフ変数0 / 決定(10)
 ■条件分岐(変数): 【1】このコモンEvセルフ0が0と同じ
 ◇分岐: 【1】 [ このコモンEvセルフ0が0と同じ ]の場合↓
 |■変数操作: V0[GetKey_Z] = 0 + 0
 |■
 ◇上記以外
 |■変数操作: V0[GetKey_Z] += 1 + 0
 |■変数操作: V0[GetKey_Z] 上限= 2 + 0
 |■
 ◇分岐終了◇

並列実行ならばシンプルに考えてこちらを先に動かしてしまうといいかもしれない。

 V0とは決定キーが押されたフレーム数の分だけ足される変数(初期値0)
 尚、押したフレーム数だけ10ずつ加算される。
 どれだけ押しっぱなしなのかという変数を求めたいなら入力待ちを削る。

 ■ループ開始
 |■変数操作:V0=0
 |■キー入力:V0/決定キー(入力待ち)
 |■
 ◇ループここまで◇