WOLF RPGエディター(ウディタ)/イベントコマンド【サイトトップへ戻る】
■【使用例】変数操作+の「ピクチャ」と「その他」
(更新:2024/05/04)


イベントコマンド【変数操作+】にある「ピクチャ」と「その他」に関する使用例を紹介します。


ショートカット
■【使用例】ピクチャをドラッグ移動してゲーム画面の外へ出ないようにする
「X座標」「Y座標」「画像サイズ(横)」「画像サイズ(縦)」「マウスカーソル重なってる(1=YES)」
「マウス左クリック状態」「マウス右クリック状態」「マウスX座標の変化」「マウスY座標の変化」
■【使用例】ピクチャの拡大率を変えて、指定した横幅に文字列を収める
「画像サイズ(横)」
■【使用例】戦闘終了後に移動中のBGMを続きから演奏する
「BGMの現在再生位置」



以下は【変数操作+】の「ピクチャ」と「その他」を使った別のページにある使用例です。
クリックするとYADOT-WOLF内の別ページが開きます。

別ページの使用例
■自作メニューの基礎講座(4×3の自作メニュー作り)
「X座標」「Y座標」「マウスカーソル重なってる(1=YES)」「マウス左クリック状態」「マウス右クリック状態」
■[文章の表示]や[選択肢]の文字列を50個まで保存
「X座標」「Y座標」「画像サイズ(縦)」「マウス右クリック状態」「マウスホイール変化」「処理中のEv行数」
■ゲーム中にマウスでツボを置く
「現在のマップID」「マウス左クリック状態」「マウス右クリック状態」
「マップのサイズ[横]」「マップのサイズ[縦]」「マップイベントID(コモンなら呼び出し元ID)」
■マウスポインタの位置にあるマップイベントのセルフ変数を表示
「マウス座標にあるEvID」



【変数操作+】の基本説明は別ページに記載しています。
【変数操作+の基本説明を開く】

【変数操作+】の「キャラ」と「位置」の使用例も別ページに記載しています。
【【使用例】変数操作+の「キャラ」と「位置」を開く】


  
「X座標」「Y座標」「画像サイズ(横)」「画像サイズ(縦)」「マウスカーソル重なってる(1=YES)」
「マウス左クリック状態」「マウス右クリック状態」「マウスX座標の変化」「マウスY座標の変化」
■【使用例】ピクチャをドラッグ移動してゲーム画面の外へ出ないようにする

右クリックで自作メニューを表示し、メニュー画面上にマウスポインタを置き、
ドラッグで移動するとメニュー画面が移動します。

この時にメニュー画面がゲーム画面の外へ移動しないように処理します。





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

■コモンイベント「ピクチャを画面外に出さない」

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

▼ 右クリックで自作メニュー画面を表示
■変数操作+: CSelf11[右クリック] = マウス右クリック状態
■条件分岐(変数): 【1】 CSelf11[右クリック] が 1 以下
-◇分岐: 【1】 [ CSelf11[右クリック] が 1 以下 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
▼ 右クリックで自作メニュー画面を表示
■ピクチャ表示:1 [左上]ウィンドウ「SystemFile/WindowBase_amania.png」
       サイズ[100,80] X:110 Y:80 / 0(0)フレーム / パターン 1 / 透 255 /
       通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]文字列[メニュー画面] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: CSelf20[移動開始] = 0 + 0
■変数操作: CSelf26[画面右の限界値] = Sys116:[読]画面サイズX + 0
■変数操作: CSelf27[画面下の限界値] = Sys117:[読]画面サイズY + 0
■変数操作+: CSelf26[画面右の限界値] -= ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf27[画面下の限界値] -= ピクチャ:1 の 画像サイズ(縦)
▼ 右クリックで自作メニュー画面を表示
■ループ開始
|■ウェイト:1 フレーム
|■変数操作+: CSelf10[左クリック] = マウス左クリック状態
|■変数操作+: CSelf11[右クリック] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf11[右クリック] が 2 と同じ
|-◇分岐: 【1】 [ CSelf11[右クリック] が 2 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf20[移動開始] が 0 と同じ
|-◇分岐: 【1】 [ CSelf20[移動開始] が 0 と同じ ]の場合↓
||■変数操作+: CSelf21[ピクチャの上] = ピクチャ:1 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf21[ピクチャの上] が 0 と同じ
||-◇分岐: 【1】 [ CSelf21[ピクチャの上] が 0 と同じ ]の場合↓
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf10[左クリック] が 1 以下
||-◇分岐: 【1】 [ CSelf10[左クリック] が 1 以下 ]の場合↓
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■変数操作: CSelf20[移動開始] = 1 + 0
||■
|-◇上記以外
||■条件分岐(変数): 【1】 CSelf10[左クリック] が 0 と同じ
||-◇分岐: 【1】 [ CSelf10[左クリック] が 0 と同じ ]の場合↓
|||■変数操作: CSelf20[移動開始] = 0 + 0
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■変数操作+: CSelf22[X±] = マウスX座標の変化
||■変数操作+: CSelf23[Y±] = マウスY座標の変化
||■ピクチャ移動:1 〜 2 相対X:CSelf22[X±] Y:CSelf23[Y±] / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||▼ 画面の外に出ないようにする
||■変数操作: CSelf22[X±]〜CSelf23[Y±] = 0 + 0
||■変数操作+: CSelf24[P1のX] = ピクチャ:1 の X座標
||■変数操作+: CSelf25[P1のY] = ピクチャ:1 の Y座標
||■条件分岐(変数): 【1】 CSelf24[P1のX] が -1 以下
          【2】 CSelf24[P1のX] が CSelf26[画面右の限界値] 超
||-◇分岐: 【1】 [ CSelf24[P1のX] が -1 以下 ]の場合↓
|||■変数操作: CSelf22[X±] 絶対値= CSelf24[P1のX] + 0
|||■
||-◇分岐: 【2】 [ CSelf24[P1のX] が CSelf26[画面右の限界値] 超 ]の場合↓
|||■変数操作: CSelf22[X±] = CSelf26[画面右の限界値] - CSelf24[P1のX]
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf25[P1のY] が -1 以下
          【2】 CSelf25[P1のY] が CSelf27[画面下の限界値] 超
||-◇分岐: 【1】 [ CSelf25[P1のY] が -1 以下 ]の場合↓
|||■変数操作: CSelf23[Y±] 絶対値= CSelf25[P1のY] + 0
|||■
||-◇分岐: 【2】 [ CSelf25[P1のY] が CSelf27[画面下の限界値] 超 ]の場合↓
|||■変数操作: CSelf23[Y±] = CSelf27[画面下の限界値] - CSelf25[P1のY]
|||■
||◇分岐終了◇
||■ピクチャ移動:1 〜 2 相対X:CSelf22[X±] Y:CSelf23[Y±] / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 右クリックで自作メニュー画面を表示
■ピクチャ消去:1 〜 2 / 0(0)フレーム


▲トップへ戻る▲


  
「画像サイズ(横)」
■【使用例】ピクチャの拡大率を変えて、指定した横幅に文字列を収める

ピクチャで文字列を表示した時に長い文字列である時には、
横の拡大率を変えて、指定された枠内に収まるように設定します。

そのまま表示 拡大率を変えて表示



今回は「横幅200ピクセル」に収まるように設定します。

設定例にある…
■変数操作: このEvのSelf0 = 20000 + 0
の「20000」の部分は、「幅200×100」と言った設定になっています。

もしも「横幅128ピクセル」の範囲にする場合は…
■変数操作: このEvのSelf0 = 12800 + 0
と設定してください。



文字列はフォントサイズ[30]で表示するため、全角7文字以上の時には拡大率が変わります。



フォント「Meiryo」は「MS ゴシック」に比べて若干縦幅が小さいので、
文字を表示位置を2ピクセル下げます。
もしも2ピクセル下げない場合は、下記設定の「107」を「105」で設定してください。

【イベントコード表示(マップ)】【イベントコード表示(コモン)】

■ピクチャ表示:1 [左上]ウィンドウ「<SQUARE>」サイズ[200,30] X:60 Y:105 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0] B[0]
■ピクチャ表示:2 [左上]文字列[\f[30]あいうえお] X:60 Y:107 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: このEvのSelf0 = 20000 + 0
■変数操作+: このEvのSelf0 /= ピクチャ:2 の 画像サイズ(横)
■変数操作: このEvのSelf0 上限= 100 + 0
■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 /
       角 同値 / 拡 このEvのSelf0x100% / カラー 同値



なお、ウディタ[3.00]以降では、
ピクチャの自由変形を使って指定した表示範囲に収める設定方法もあります。

【イベントコード表示】

■ピクチャ表示:1 [左上]ウィンドウ「<SQUARE>」サイズ[200,30] X:60 Y:105 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0] B[0]
■ピクチャ表示:2 [左上]文字列[\f[30]あいうえお] X:60 Y:107 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ移動:2 [左上X:60 Y:107 + 右上X:260 Y:107 + 左下X:60 Y:137 + 右下X:260 Y:137] /
       0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 カラー 同値


▲トップへ戻る▲


  
「BGMの現在再生位置」
■【使用例】戦闘終了後に移動中のBGMを続きから演奏する

戦闘が開始すると、移動時のBGMが強制終了し、戦闘時のBGMが演奏されます。

そして戦闘終了後に元の移動時のBGMに戻りますが、
この時に演奏される移動時のBGMは最初からの演奏になります。

この最初からの演奏続きからの演奏に変える設定を行います。



コモンイベント[188:X◆戦闘処理]12行目に以下のイベントを追加してください。

【イベントコード表示】

■変数操作+: CSelf97[再生位置] = BGM現在再生位置(ミリ秒・1周目のみ/MIDIならTick値)



コモンイベント[188:X◆戦闘処理]239行目243行目【サウンド】の設定を開き、
途中再生」に「1600097」を設定してください。

▼239行目


▼243行目



以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

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

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