WOLF RPGエディター(ウディタ)/イベントコマンド【サイトトップへ戻る】
■【使用例】エフェクト
(更新:2024/05/05)


イベントコマンド【エフェクト】に関する使用例を紹介します。


ショートカット
■【使用例】ダメージ床で主人公をフラッシュ
「キャラエフェクト(フラッシュ)」
■【使用例】場所移動時にズームアウト
「マップエフェクト(ズーム)」
■【使用例】会話中に画面スクロール
「画面スクロール」
■【使用例】会話の途中でフラッシュが発生し、キャラが消える
「画面の色調変更(フラッシュ)」



以下は【エフェクト】を使った別のページにある使用例です。
クリックするとYADOT-WOLF内の別ページが開きます。

別ページの使用例
■自作メニューの基礎講座(4×3の自作メニュー作り)
「ピクチャエフェクト(点滅A(明滅))」
■【使用例】自動的に主人公を歩かせ→画面スクロール→セリフ表示
「画面スクロール」
■【マスク使用例】戦闘中にカットインを表示
■【マスク使用例】場所移動時の演出
■【マスク使用例】複数の黒を同時に設定して画面全体を黒に変える
■【マスク使用例】光を当ててマップイベントを表示(懐中電灯)
■【マスク使用例】マウスポインタの位置にマスクを設定(拡大鏡・射撃など)
■【マスク使用例】歩行グラフィックを顔グラフィックに使う



イベントコマンド【エフェクト】の基本説明は別ページに記載しています。
【エフェクトの基本説明を開く】


 
「キャラエフェクト(フラッシュ)」
■【使用例】ダメージ床で主人公をフラッシュ

主人公が歩くとダメージを受けるダメージ床を設定します。



歩いているマスがダメージ床であるかどうかの判断は、チップのタグ番号を読み取って判断します。

今回はタグ番号[01]の時に「ダメージ床」と判定し、ダメージ床を移動する度にHPを「1」減らします。

残りHPが「1」の時には、それ以上は減りません。(戦闘不能にはならない)



タイルセットエディタを開き、ダメージ床にしたいチップのタグ番号を[01]にしてください。





【キャラエフェクト】の設定値は以下のとおりです。

設定名 赤± 緑± 青± 処理時間
設定値 100 -100 -100 4





今回の設定例では、先頭の主人公がダメージ床に乗ったらパーティ全員がダメージを受けるタイプと、
主人公や仲間がダメージ床に乗ったら個別にダメージを受けるタイプの2種類を用意しました。
どちらか良い方を設定してください。

パーティ全員にダメージ 個別にダメージ



▼全員一括にダメージ

【イベントコード表示】【コモン出力ファイル】

■コモンイベント「ダメージ床(全員一括処理)」

起動条件:並列実行(常時)

■変数操作+: CSelf10[現在のマップID] -= 現在のマップID
■条件分岐(変数): 【1】 CSelf10[現在のマップID] が 0 以外
-◇分岐: 【1】 [ CSelf10[現在のマップID] が 0 以外 ]の場合↓
|■ウェイト:1 フレーム
|■変数操作: CSelf12[処理したXY] = 主人公のX座標(精密) * 10000
|■変数操作: CSelf12[処理したXY] += 主人公のY座標(精密) + 0
|■
◇分岐終了◇
■変数操作+: CSelf10[現在のマップID] = 現在のマップID
■変数操作: CSelf11[現在のXY] = 主人公のX座標(精密) * 10000
■変数操作: CSelf11[現在のXY] += 主人公のY座標(精密) + 0
■条件分岐(変数): 【1】 CSelf11[現在のXY] が CSelf12[処理したXY] と同じ
         【2】 Sys35:主人公移動中?(1=YES) マスの間にいるかどう が 1 と同じ
-◇分岐: 【1】 [ CSelf11[現在のXY] が CSelf12[処理したXY] と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ Sys35:主人公移動中?(1=YES) マスの間にいるかどう が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: CSelf12[処理したXY] = CSelf11[現在のXY] + 0
■変数操作+: CSelf13[タグ番号] = X:主人公のX座標(精密) Y:主人公のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 CSelf13[タグ番号] が 1 以外
-◇分岐: 【1】 [ CSelf13[タグ番号] が 1 以外 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■イベントの挿入: コモン4:[ ○回復・ダメージ処理 ] / 1:HPの回復・減少 / -1:パーティ全員 / -1
■キャラエフェクト:主人公[フラッシュ] R100/G-100/B-100 (4)フレーム
■キャラエフェクト:仲間1[フラッシュ] R100/G-100/B-100 (4)フレーム
■キャラエフェクト:仲間2[フラッシュ] R100/G-100/B-100 (4)フレーム
■キャラエフェクト:仲間3[フラッシュ] R100/G-100/B-100 (4)フレーム
■キャラエフェクト:仲間4[フラッシュ] R100/G-100/B-100 (4)フレーム
■キャラエフェクト:仲間5[フラッシュ] R100/G-100/B-100 (4)フレーム



▼個別にダメージ

【イベントコード表示】【コモン出力ファイル】

■コモンイベント「ダメージ床(個別処理)」

起動条件:並列実行(常時)

■変数操作+: CSelf10[現在のマップID] -= 現在のマップID
■条件分岐(変数): 【1】 CSelf10[現在のマップID] が 0 以外
-◇分岐: 【1】 [ CSelf10[現在のマップID] が 0 以外 ]の場合↓
|■ウェイト:1 フレーム
|■変数操作: CSelf12[処理したXY] = 主人公のX座標(精密) * 10000
|■変数操作: CSelf12[処理したXY] += 主人公のY座標(精密) + 0
|■
◇分岐終了◇
■変数操作+: CSelf10[現在のマップID] = 現在のマップID
■変数操作: CSelf11[現在のXY] = 主人公のX座標(精密) * 10000
■変数操作: CSelf11[現在のXY] += 主人公のY座標(精密) + 0
■条件分岐(変数): 【1】 CSelf11[現在のXY] が CSelf12[処理したXY] と同じ
         【2】 Sys35:主人公移動中?(1=YES) マスの間にいるかどう が 1 と同じ
-◇分岐: 【1】 [ CSelf11[現在のXY] が CSelf12[処理したXY] と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ Sys35:主人公移動中?(1=YES) マスの間にいるかどう が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: CSelf12[処理したXY] = CSelf11[現在のXY] + 0
■変数操作+: CSelf13[タグ番号] = X:主人公のX座標(精密) Y:主人公のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,1)[メイン設定 メンバー1]/-1
|■キャラエフェクト:主人公[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇
■変数操作+: CSelf13[タグ番号] = X:仲間1のX座標(精密) Y:仲間1のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 可変DB(18,4,0)[現在パーティー人数 数値 ] が 1 と同じ
         【2】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,4,0)[現在パーティー人数 数値 ] が 1 と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,2)[メイン設定 メンバー2]/-1
|■キャラエフェクト:仲間1[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇
■変数操作+: CSelf13[タグ番号] = X:仲間2のX座標(精密) Y:仲間2のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 可変DB(18,4,0)[現在パーティー人数 数値 ] が 2 と同じ
         【2】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,4,0)[現在パーティー人数 数値 ] が 2 と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,3)[メイン設定 メンバー3]/-1
|■キャラエフェクト:仲間2[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇
■変数操作+: CSelf13[タグ番号] = X:仲間3のX座標(精密) Y:仲間3のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 可変DB(18,4,0)[現在パーティー人数 数値 ] が 3 と同じ
         【2】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,4,0)[現在パーティー人数 数値 ] が 3 と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,4)[メイン設定 メンバー4]/-1
|■キャラエフェクト:仲間3[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇
■変数操作+: CSelf13[タグ番号] = X:仲間4のX座標(精密) Y:仲間4のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 可変DB(18,4,0)[現在パーティー人数 数値 ] が 3 と同じ
         【2】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,4,0)[現在パーティー人数 数値 ] が 3 と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,5)[メイン設定 メンバー5]/-1
|■キャラエフェクト:仲間4[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇
■変数操作+: CSelf13[タグ番号] = X:仲間5のX座標(精密) Y:仲間5のY座標(精密)の最も上にあるタイルのタグ番号
■条件分岐(変数): 【1】 CSelf13[タグ番号] が 1 と同じ
-◇分岐: 【1】 [ CSelf13[タグ番号] が 1 と同じ ]の場合↓
|■イベントの挿入:コモン4:[○回復・ダメージ処理]/1:HPの回復・減少/可変DB(6,0,6)[メイン設定 メンバー6]/-1
|■キャラエフェクト:仲間5[フラッシュ] R100/G-100/B-100 (4)フレーム
|■
◇分岐終了◇


▲トップへ戻る▲


 
「マップエフェクト(ズーム)」
■【使用例】場所移動時にズームアウト

場所移動時に主人公を中心にして画面がズームアウトし、移動先でズームインして画面を表示させます。

▼ズームアウトのイメージ




【マップエフェクト】の表示位置の設定は、
変数呼び出し値」を使って「中心X=1100000」「中心Y=1100001」で設定します。

なお、設定欄が狭いので、正しい設定であるかどうかは下の表示で確認してください。




【動作指定】はイベントコードでは設定できないため、イベントコード設定後に手動で設定し直してください。

【イベントコード表示】

■マップイベント

起動条件:プレイヤー接触
すり抜け:チェックを入れる

■変数操作+: このEvのSelf0 = 主人公 の 画面X座標
■変数操作+: このEvのSelf1 = 主人公 の 画面Y座標
■変数操作+: このEvのSelf0 -= このマップイベント の 画面X座標
■変数操作+: このEvのSelf1 -= このマップイベント の 画面Y座標
■条件分岐(変数): 【1】 このEvのSelf0 が 0 以外
         【2】 このEvのSelf1 が 0 以外
-◇分岐: 【1】 [ このEvのSelf0 が 0 以外 ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【2】 [ このEvのSelf1 が 0 以外 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作+: このEvのSelf0 = 主人公 の 画面X座標
■変数操作+: このEvのSelf1 = 主人公 の 画面Y座標
■変数操作: このEvのSelf1 -= Sys118:[読]タイルサイズ / 2
■マップエフェクト:[ズーム] 中心X このEvのSelf0 / 中心Y このEvのSelf1 / 0% (60)フレーム
■ウェイト:75 フレーム
■場所移動:主人公 ▲マップID2[サンプルマップB] X:11 Y:19 [トランジションなし]
■動作指定:主人公 / 下向
■色調変更: R100 G100 B100 / 0フレーム
■変数操作+: このEvのSelf0 = 主人公 の 画面X座標
■変数操作+: このEvのSelf1 = 主人公 の 画面Y座標
■変数操作: このEvのSelf1 -= Sys118:[読]タイルサイズ / 2
■マップエフェクト:[ズーム] 中心X このEvのSelf0 / 中心Y このEvのSelf1 / 0% (0)フレーム
■マップエフェクト:[ズーム] 中心X このEvのSelf0 / 中心Y このEvのSelf1 / 100% (60)フレーム
■ウェイト:60 フレーム


▲トップへ戻る▲


 
「画面スクロール」
■【使用例】会話中に画面スクロール

サンプルゲームの「サンプルマップB」にいるマップイベント[02:市松模様解説男]の設定に【画面スクロール】を追加し、
会話の開始時に左上へ画面がスクロールするように設定します。

初期設定 画面が左上へスクロール



【画面スクロール】の移動量は、マップイベントと主人公のX座標、Y座標の差分を出してスクロールの移動量を算出します。

X-3 Y-2 X-2 Y-1 X-4 Y-1 X-3 Y 0



【画面スクロール】の移動距離の設定では、「変数呼び出し値」を使って「X=1100000」「Y=1100001」を設定します。

なお、設定欄が狭いので正しい設定であるかどうかは下の表示で確認してください。




【イベントコード表示】

■マップイベント[02:市松模様解説男]

起動条件:決定キーで実行

■変数操作: このEvのSelf0 = -3 + 0
■変数操作: このEvのSelf0 += このEvのX座標(マップ) - 主人公のX座標(マップ)
■変数操作: このEvのSelf1 = -1 + 0
■変数操作: このEvのSelf1 += このEvのY座標(マップ) - 主人公のY座標(マップ)
■画面スクロール:画面移動 1倍速 右方向:このEvのSelf0 下方向:このEvのSelf1
■文章:「この\r[市松,いちまつ]\r[模,も]\r[様,よう]の上を歩くと、\n 10マスに一度くらい敵と遭遇するよ!
■文章:「これは、イベントエディタの「接触範囲拡張」を\n うまいこと使ったテクニックなんだ。
■文章:「この市松模様の中では、\n 君が一歩あるくごとに1回、エンカウントを\n チェックするイベントが起動するんだ。
■文章:「エンカウントのポイントは、歩くたびに\n どんどん増えていって、最大まで\n たまったときに戦闘が始まるのさ。
■画面スクロール:主人公に戻す 1倍速


▲トップへ戻る▲


 
「画面の色調変更(フラッシュ)」
■【使用例】会話の途中でフラッシュが発生し、キャラが消える

マップイベントと会話し、会話の途中で画面全体が瞬間的に光り、
画面が見えてくると同時にマップイベントが消滅する設定を行います。

▼動作イメージ



マップイベントは会話の途中で姿を消します。
これは起動条件の変数に「セルフ変数[0]が「0」と同じ」が設定されており、
イベントの実行途中でセルフ変数[0]を「1」にする事で起動条件が満たさなくなり、マップイベントが消滅します。



並列実行以外のイベント処理では、起動条件を満たさなくなっても最後まで実行されるため…
■文章:では、さらばだ!
の設定も問題なく処理されます。



【画面の色調変更】の設定は以下のとおりです。





【イベントコード表示】

■マップイベント

起動条件:決定キーで実行
起動条件変数:Self0:セルフ変数0 が 0 と同じ

■文章:サンプルの世界を楽しんでいるかい?
■色調変更:(フラッシュ) R100 G100 B100 / 40フレーム
■変数操作: このEvのSelf0 = 1 + 0
■文章:では、さらばだ!


▲トップへ戻る▲



◎関連ページ

◆「イベントコマンド」って何?
┣◆文章の表示
┃┗◆特殊文字
┣◆選択肢
┃┗◆【使用例】選択肢
┣◆変数操作
┃┗◆演算子について
┣◆DB操作
┣◆文字列操作
┃┗◆【使用例】文字列操作
┣◆変数操作+
┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い
┃┣◆【使用例】変数操作+の「キャラ」と「位置」
┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」
┣◆条件(変数)
┣◆条件(文字列)
┣◆キー入力
┃┗◆【使用例】キー入力
┣◆ピクチャ
┃┗◆表示形式(通常・加算・減算・乗算)について
┣◆エフェクト
┃┣◆「Zオーダー」について
┃┗◆【使用例】エフェクト
┣◆サウンド
┣◆セーブ・ロード操作
┣◆パーティ画像
┣◆チップ処理
┃┗◆【使用例】チップ処理
┣◆場所移動
┣◆イベント制御
┃┣◆キャラクターの動作指定
┃┗◆【使用例】イベント制御
┣◆コモンイベント
┣◆ダウンロード
┗◆プロ版機能
 ┗◆起動時の引数について

YADOT-WOLFトップ  気紛れな空間へ戻る  メール