一括表示

記事No: 21324
タイトル戦闘画面で敵がどんどん下に寄ってしまう
投稿日: 2021/06/06 22:01
投稿者Tark [rerrrrrdi278(海外)]

[やりたいこと]
戦闘時の敵キャラを上に表示したい

[やってみたこと]
敵キャラ単体描画コモンの、Cself23 [ 表示Y]を敵ピクチャ前にマイナスして下げてみた

[やってみた結果、どううまくいかないか]
プレイヤーが敵を殴ると、そのたびどんどん下に動いてしまう


記事No: 21325
タイトルRe: 戦闘画面で敵がどんどん下に寄ってしまう
投稿日: 2021/06/06 22:04
投稿者Tark [rerrrrrdi278(海外)]

> [やりたいこと]
> 戦闘時の敵キャラを上に表示したい
>
> [やってみたこと]
> 敵キャラ単体描画コモンの、Cself23 [ 表示Y]を敵ピクチャ前にマイナスして下げてみた
>
> [やってみた結果、どううまくいかないか]
> プレイヤーが敵を殴ると、そのたびどんどん下に動いてしまう

うっかりミスして投稿してしまいました。

試したのが52行目、152行目、170行目などになります。

▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 指定した敵キャラ一個分の初期描画・カーソル描画・消去処理を行います。
▼ キャラクターへのエフェクトなどもこのコモン内で処理されます。

▼ ―――――――――――――――――――――――――――――――――――
▼ 可変DB「基本システム用変数」内の、以下の変数に座標を指定してこのイベントを起動すると、
▼ 「元座標」→「表示先 座標」へスライドしながらキャラクター欄が表示されます。
▼ 35:ステータス欄表示 元座標X
▼ 36:ステータス欄表示 元座標Y
▼ 37:ステータス欄表示先 座標X
▼ 38:ステータス欄表示先 座標Y

▼ ※上記の座標は倍率補正済みの値である必要があります。
▼ ―――――――――――――――――――――――――――――――――――
▼ 【ピクチャ】
▼ 基本ピクチャ+
0 = メインウィンドウ
▼ 基本ピクチャ+1〜5 = HPゲージ
▼ ―――――――――――――――――――――――――――――――――――
▼ 初期化
■条件分岐(変数): 【1】 CSelf0[モード] が 0 以上
-◇分岐: 【1】 [ CSelf0[モード] が 0 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf0[モード] が 2 以下
|-◇分岐: 【1】 [ CSelf0[モード] が 2 以下 ]の場合↓
| |■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が 10 未満
| |-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が 10 未満 ]の場合↓
| | |■文章:\>「X[戦]敵キャラ_単体描画」:エラー\n 表示位置10番未満は指定できません > \cself[1]
| | |■イベント処理中断
| | |■
| |◇分岐終了◇
| |■DB読込(可変): CSelf10[一時変数A] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf1[対象戦闘スロット] : キャラクタ番号[1万以上は敵] ] (10 : - : 17)
| |■条件分岐(変数): 【1】 CSelf10[一時変数A] が -1 以下
| |-◇分岐: 【1】 [ CSelf10[一時変数A] が -1 以下 ]の場合↓
| | |■イベント処理中断
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 初期値
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■DB読込(可変): CSelf17[最小フォントサイズ] = 可変DB[ 基本システム用変数 : 7 : 0 ] (18 : システム最小フォントサイズ : 数値)
■DB読込(可変): CSelf18[ミニフォントサイズ] = 可変DB[ 基本システム用変数 : 6 : 0 ] (18 : システムミニフォントサイズ : 数値)
■DB読込(可変): CSelf19[基本フォントサイズ] = 可変DB[ 基本システム用変数 : 5 : 0 ] (18 : システム基本フォントサイズ : 数値)
▼ Ver2.20 座標倍率を縦横別に修正
■DB読込(可変): CSelf98[座標倍率X[x10]] = 可変DB[ 基本システム用変数 : 97 : 0 ] (18 : 座標倍率X[x10] : 数値)
■DB読込(可変): CSelf99[座標倍率Y[x10]] = 可変DB[ 基本システム用変数 : 98 : 0 ] (18 : 座標倍率Y[x10] : 数値)
■DB読込(可変): CSelf30[移動元X] = 可変DB[ 基本システム用変数 : 35 : 0 ] (18 : ステータス欄表示 元座標X : 数値)
■DB読込(可変): CSelf31[移動元Y] = 可変DB[ 基本システム用変数 : 36 : 0 ] (18 : ステータス欄表示 元座標Y : 数値)
■DB読込(可変): CSelf22[表示X] = 可変DB[ 基本システム用変数 : 37 : 0 ] (18 : ステータス欄表示先 座標X : 数値)
■DB読込(可変): CSelf23[表示Y] = 可変DB[ 基本システム用変数 : 38 : 0 ] (18 : ステータス欄表示先 座標Y : 数値)
■DB読込(ユーザ): CSelf51[HP表示フラグ] = ユーザDB[ システム設定 : 0 : [戦闘]敵HPの表示 ] (17 : システム基本設定 : 28)
■DB読込(ユーザ): CSelf52[ゲージ表示フラグ] = ユーザDB[ システム設定 : 0 : [戦闘]敵ゲージの表示 ] (17 : システム基本設定 : 27)
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■変数操作: CSelf20[基本ピクチャ番号] = 10700 + 0
■変数操作: CSelf4[1キャラあたり使用ピクチャ数] = 10 + 0
■変数操作: CSelf10[一時変数A] = CSelf1[対象戦闘スロット] - 10
■DB読込(可変): CSelf16[最大パーティ数] = 可変DB[ 基本システム用変数 : [戦闘]敵の最大数(システム) : 0 ] (18 : 69 : 数値)
■変数操作: CSelf16[最大パーティ数] += 10 + 0

■変数操作: CSelf81[HP・SPゲージ長] = 20 + 0
■変数操作: CSelf80[全ゲージ太さ] = 1 + 0
■変数操作: CSelf66[HP位置X] = 0 + 0
■変数操作: CSelf67[HP位置Y] = -14 + 0
■回数付きループ [ 0 ]回
|■変数操作: CSelf67[HP位置Y] = -14 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf70[HPゲージX] = CSelf81[HP・SPゲージ長] * -1
■変数操作: CSelf70[HPゲージX] /= 2 + 0
■変数操作: CSelf71[HPゲージY] = -10 + 0
■回数付きループ [ 0 ]回
|■変数操作: CSelf71[HPゲージY] = -10 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf87[ゲージアニメフラグ] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■変数操作: CSelf66[HP位置X] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf67[HP位置Y] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf67[HP位置Y] = 200 + 0
■変数操作: CSelf68[SP位置X] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf69[SP位置Y] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf70[HPゲージX] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf71[HPゲージY] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf72[SPゲージX] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf73[SPゲージY] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf74[EXP位置X] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf75[EXP位置Y] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf76[EXPゲージX] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf77[EXPゲージY] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf78[レベル表示X] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf79[レベル表示Y] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf80[全ゲージ太さ] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf81[HP・SPゲージ長] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf82[EXPゲージ長] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf83[状態異常位置X] *= CSelf98[座標倍率X[x10]] + 0
■変数操作: CSelf84[状態異常位置Y] *= CSelf99[座標倍率Y[x10]] + 0
■変数操作: CSelf66[HP位置X]〜CSelf84[状態異常位置Y] /= 10 + 0
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■条件分岐(変数): 【1】 CSelf0[モード] が 2 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 2 と同じ ]の場合↓
|▼ ゲージ更新ならアニメ
|■変数操作: CSelf87[ゲージアニメフラグ] = 1 + 0
|■
◇分岐終了◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■条件分岐(変数): 【1】 CSelf0[モード] が -1 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が -1 と同じ ]の場合↓
|▼ 消去
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 0
|■変数操作: CSelf21[一時ピクチャ番号] += CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf29[一時ピクチャ番号2] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf29[一時ピクチャ番号2] += 100 + CSelf20[基本ピクチャ番号]
|■変数操作: CSelf33[一時ピクチャ番号3] = CSelf29[一時ピクチャ番号2] + CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf33[一時ピクチャ番号3] -= 1 + 0
|■ピクチャ[ディレイ内容リセット]:CSelf21[一時ピクチャ番号]
|■ピクチャ消去:CSelf21[一時ピクチャ番号] / 10(0)フレーム
|■ピクチャ[ディレイ内容リセット]:CSelf29[一時ピクチャ番号2] 〜 CSelf33[一時ピクチャ番号3]
|■ピクチャ消去:CSelf29[一時ピクチャ番号2] 〜 CSelf33[一時ピクチャ番号3] / 10(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が -10 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が -10 と同じ ]の場合↓
|▼ 撃破演出
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 0
|■変数操作: CSelf21[一時ピクチャ番号] += CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf29[一時ピクチャ番号2] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf29[一時ピクチャ番号2] += 100 + CSelf20[基本ピクチャ番号]
|■変数操作: CSelf33[一時ピクチャ番号3] = CSelf29[一時ピクチャ番号2] + CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf33[一時ピクチャ番号3] -= 1 + 0
|■ピクチャ[ディレイ内容リセット]:CSelf21[一時ピクチャ番号]
|■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [色調整] R200/G-100/B-100 (0)フレーム
|■ピクチャ消去:CSelf21[一時ピクチャ番号] / 10(0)フレーム
|▼
|■ピクチャ[ディレイ内容リセット]:CSelf29[一時ピクチャ番号2] 〜 CSelf33[一時ピクチャ番号3]
|■ピクチャ消去:CSelf29[一時ピクチャ番号2] 〜 CSelf33[一時ピクチャ番号3] / 10(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 0 以上
-◇分岐: 【1】 [ CSelf0[モード] が 0 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf0[モード] が 1 以下
|-◇分岐: 【1】 [ CSelf0[モード] が 1 以下 ]の場合↓
| |▼ 表示 0ならエフェクト付き
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| |■ピクチャ[ディレイ内容リセット]:CSelf21[一時ピクチャ番号]
| |■DB読込(可変): CSelf9[敵画像ファイル] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf1[対象戦闘スロット] : 画像ファイル ] (10 : - : 1)
| |■条件分岐(文字): 【1】 CSelf9[敵画像ファイル]が "" 以外
| |-◇分岐: 【1】 [ CSelf9[敵画像ファイル] "" 以外 ]の場合↓
| | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [中心]ファイル(CSelf9[敵画像ファイル]) X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 65% / カラー R[100] G[100] B[100]
| | |■回数付きループ [ 0 ]回
| | | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [中心]ファイル(CSelf9[敵画像ファイル]) X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 65% / カラー R[100] G[100] B[100]
| | | |■
| | |◇ループここまで◇◇
| | |▼ 縦サイズの半分だけ、上にシフトさせる(指定座標が足下になるよう調整する)
| | |■変数操作+: CSelf10[一時変数A] = ピクチャ:CSelf21[一時ピクチャ番号] の 画像サイズ(縦)
| | |■変数操作: CSelf10[一時変数A] /= 2 + 0
| | |■変数操作: CSelf10[一時変数A] *= -1 + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト 0 / Yシフト CSelf10[一時変数A] (0)フレーム
| | |■
| |-◇上記以外
| | |■ピクチャ消去:CSelf21[一時ピクチャ番号] / 0(0)フレーム
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf0[モード] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf0[モード] が 0 と同じ ]の場合↓
| | |▼ エフェクト有りの場合
| | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf30[移動元X] Y:CSelf31[移動元Y] / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
| | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / 5(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
| | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / 5(3)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
| | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / 5(5)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
| | |●ラベル「ゲージ更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 2 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 2 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ ゲージの表示・更新
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■
|●ラベル地点「ゲージ更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■変数操作: CSelf10[一時変数A] = CSelf1[対象戦闘スロット] - 10
|■変数操作: CSelf29[一時ピクチャ番号2] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
|■変数操作: CSelf29[一時ピクチャ番号2] += 100 + CSelf20[基本ピクチャ番号]
|▼
|■DB読込(可変): CSelf7[キャラ名] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf1[対象戦闘スロット] : キャラ名 ] (10 : - : 0)
|■DB読込(可変): CSelf90[HP] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf1[対象戦闘スロット] : HP ] (10 : - : 5)
|■DB読込(可変): CSelf91[最大HP] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf1[対象戦闘スロット] : [一時]計算済みMaxHP ] (10 : - : 44)
|■回数付きループ [ 1 ]回
| |▼ HP欄 HPゲージ
| |▼
| |▼ HP数値表示用に、横幅を得る
| |■変数操作: CSelf10[一時変数A] = CSelf81[HP・SPゲージ長] * 1
| |■条件分岐(変数): 【1】 Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 ・ が 0 と同じ
| |-◇分岐: 【1】 [ Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 ・ が 0 と同じ ]の場合↓
| | |▼ 解像度が320x240の場合だけ二倍補正が必要(\ax[?]の使用上)
| | |■変数操作: CSelf10[一時変数A] = CSelf81[HP・SPゲージ長] * 2
| | |■
| |◇分岐終了◇
| |■回数付きループ [ 1 ]回
| | |▼ 名前&HPの数値 (表示位置は左下基点)
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf29[一時ピクチャ番号2] + 5
| | |■変数操作: CSelf10[一時変数A] = CSelf17[最小フォントサイズ] / 2
| | |▼ ax,ayで横幅補正表示
| | |■文字列操作:CSelf7[キャラ名] = "\-[1]<C>\E\space[0]\f[\cself[17]]\cself[7]"
| | |■変数操作: CSelf11[一時変数B] = CSelf67[HP位置Y] + 0
| | |■条件分岐(変数): 【1】 CSelf51[HP表示フラグ] が 1 と同じ
| | |-◇分岐: 【1】 [ CSelf51[HP表示フラグ] が 1 と同じ ]の場合↓
| | | |▼ HP表示フラグがオンの場合だけHPを記載
| | | |■DB読込(ユーザ): CSelf8[項目名] = ユーザDB[ 用語設定 : 0 : [ステータス]HP名称 ] (15 : 用語基本設定 : 7)
| | | |■文字列操作:CSelf7[キャラ名] += "\n\cself[8] \font[1]\cself[90]"
| | | |■変数操作: CSelf11[一時変数B] -= CSelf17[最小フォントサイズ] / 2
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf23[表示Y] = 200 + 0
| | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [中心]文字列[\cself[7]] X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト CSelf66[HP位置X] / Yシフト CSelf11[一時変数B] (0)フレーム
| | |■
| |◇ループここまで◇◇
| |■条件分岐(変数): 【1】 CSelf52[ゲージ表示フラグ] が 1 と同じ
| |-◇分岐: 【1】 [ CSelf52[ゲージ表示フラグ] が 1 と同じ ]の場合↓
| | |▼ ゲージ表示

[上部分ゲージ] (表示位置は左上)
| | |■変数操作: CSelf97[%計算用一時変数] = CSelf90[HP] * 100
| | |■変数操作: CSelf97[%計算用一時変数] /= CSelf91[最大HP] + 0
| | |■変数操作: CSelf97[%計算用一時変数] 下限= 0 + 0
| | |■変数操作: CSelf97[%計算用一時変数] 上限= 100 + 0
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf29[一時ピクチャ番号2] + 4
| | |■条件分岐(変数): 【1】 CSelf87[ゲージアニメフラグ] が 0 と同じ 【2】 CSelf87[ゲージアニメフラグ] が 1 と同じ
| | |-◇分岐: 【1】 [ CSelf87[ゲージアニメフラグ] が 0 と同じ ]の場合↓
| | | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ウィンドウ「<GRADX-999-274>」サイズ[CSelf81[HP・SPゲージ長],CSelf80[全ゲージ太さ]] X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 CSelf97[%計算用一時変数]x100% / カラー R[100] G[100] B[100]
| | | |■
| | |-◇分岐: 【2】 [ CSelf87[ゲージアニメフラグ] が 1 と同じ ]の場合↓
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / 5(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 CSelf97[%計算用一時変数]x100% / カラー R[100] G[100] B[100]
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / 5(3)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 CSelf97[%計算用一時変数]x100% / カラー R[100] G[100] B[100]
| | | |■
| | |◇分岐終了◇
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト CSelf70[HPゲージX] / Yシフト CSelf71[HPゲージY] (0)フレーム
| | |▼ ゲージ表示

[下地ゲージ・赤部分] (表示位置は左上)
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf29[一時ピクチャ番号2] + 3
| | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ウィンドウ「<GRADX-744-400>」サイズ[CSelf81[HP・SPゲージ長],CSelf80[全ゲージ太さ]] X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト CSelf70[HPゲージX] / Yシフト CSelf71[HPゲージY] (0)フレーム
| | |▼ ゲージ表示[枠部分] (表示位置は左上)
| | |■変数操作: CSelf11[一時変数B] = CSelf70[HPゲージX] + 0
| | |■変数操作: CSelf11[一時変数B] -= CSelf98[座標倍率X[x10]] / 10
| | |■変数操作: CSelf12[一時変数C] = CSelf71[HPゲージY] + 0
| | |■変数操作: CSelf12[一時変数C] -= CSelf99[座標倍率Y[x10]] / 10
| | |■変数操作: CSelf13[一時変数D] = CSelf81[HP・SPゲージ長] + 0
| | |■変数操作: CSelf13[一時変数D] += CSelf98[座標倍率X[x10]] / 5
| | |■変数操作: CSelf14[一時変数E] = CSelf80[全ゲージ太さ] + 0
| | |■変数操作: CSelf14[一時変数E] += CSelf99[座標倍率Y[x10]] / 5
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf29[一時ピクチャ番号2] + 2
| | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ウィンドウ「<SQUARE>FRAME」サイズ[CSelf13[一時変数D],CSelf14[一時変数E]] X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[50] G[60] B[60]
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト CSelf11[一時変数B] / Yシフト CSelf12[一時変数C] (0)フレーム
| | |▼ ゲージ下の黒背景
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf29[一時ピクチャ番号2] + 1
| | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ウィンドウ「<SQUARE>」サイズ[CSelf13[一時変数D],CSelf14[一時変数E]] X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 乗算 / 角 0 / 拡 100% / カラー R[30] G[40] B[40]
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [描画座標シフト] Xシフト CSelf11[一時変数B] / Yシフト CSelf12[一時変数C] (0)フレーム
| | |■
| |◇分岐終了◇
| |■
|◇ループここまで◇◇
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 10 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 10 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 「カーソルON」モード なお対象が-1なら全部
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が -1 と同じ 【2】 CSelf1[対象戦闘スロット] が 0 以上
|-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が -1 と同じ ]の場合↓
| |■変数操作: CSelf10[一時変数A] = 0 + 0
| |■回数付きループ [ CSelf16[最大パーティ数] ]回
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [点滅A(明滅)] R100/G100/B100 明滅間隔(25)フレーム
| | |■変数操作: CSelf10[一時変数A] += 1 + 0
| | |■
| |◇ループここまで◇◇
| |■
|-◇分岐: 【2】 [ CSelf1[対象戦闘スロット] が 0 以上 ]の場合↓
| |■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満
| |-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満 ]の場合↓
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [点滅A(明滅)] R100/G100/B100 明滅間隔(25)フレーム
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 11 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 11 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 「カーソルランダムON」モード なお対象が-1なら全部
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|■変数操作: CSelf10[一時変数A] = 0 + 0
|■回数付きループ [ CSelf16[最大パーティ数] ]回
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| |■変数操作: CSelf11[一時変数B] = 5 〜 20
| |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [点滅A(明滅)] R100/G100/B100 明滅間隔(CSelf11[一時変数B])フレーム
| |■変数操作: CSelf10[一時変数A] += 1 + 0
| |■
|◇ループここまで◇◇
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 12 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 12 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 「カーソルOFF」モード なお対象が-1なら全部
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が -1 と同じ 【2】 CSelf1[対象戦闘スロット] が 0 以上
|-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が -1 と同じ ]の場合↓
| |■変数操作: CSelf10[一時変数A] = 0 + 0
| |■回数付きループ [ CSelf16[最大パーティ数] ]回
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf10[一時変数A] * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [点滅A(明滅)] R0/G0/B0 明滅間隔(0)フレーム
| | |■変数操作: CSelf10[一時変数A] += 1 + 0
| | |■
| |◇ループここまで◇◇
| |■
|-◇分岐: 【2】 [ CSelf1[対象戦闘スロット] が 0 以上 ]の場合↓
| |■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満
| |-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満 ]の場合↓
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [点滅A(明滅)] R0/G0/B0 明滅間隔(0)フレーム
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 21 以上
-◇分岐: 【1】 [ CSelf0[モード] が 21 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf0[モード] が 29 以下
|-◇分岐: 【1】 [ CSelf0[モード] が 29 以下 ]の場合↓
| |▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
| |▼ 「ダメージ」
| |▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
| |■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満
| |-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満 ]の場合↓
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [フラッシュ] R200/G-100/B-100 (25)フレーム
| | |■回数付きループ [ 1 ]回
| | | |▼ ここでメニュー表示時エフェクト(「移動」コマンドで実現している)
| | | |■DB読込(可変): CSelf22[表示X] = 可変DB[ 基本システム用変数 : 37 : 0 ] (18 : ステータス欄表示先 座標X : 数値)
| | | |■DB読込(可変): CSelf23[表示Y] = 可変DB[ 基本システム用変数 : 38 : 0 ] (18 : ステータス欄表示先 座標Y : 数値)
| | | |■DB読込(可変): CSelf30[移動元X] = 可変DB[ 基本システム用変数 : 35 : 0 ] (18 : ステータス欄表示 元座標X : 数値)
| | | |■DB読込(可変): CSelf31[移動元Y] = 可変DB[ 基本システム用変数 : 36 : 0 ] (18 : ステータス欄表示 元座標Y : 数値)
| | | |■変数操作: CSelf41[一時項目表示X] = CSelf22[表示X] + 0
| | | |■変数操作: CSelf42[一時項目表示Y] = CSelf23[表示Y] + 0
| | | |▼ レベルの分だけシフト量をアップ
| | | |■変数操作: CSelf10[一時変数A] = CSelf0[モード] % 20
| | | |■変数操作: CSelf42[一時項目表示Y] -= CSelf10[一時変数A] * CSelf99[座標倍率Y[x10]]
| | | |■変数操作: CSelf57[ウェイト数] = 5 + 0
| | | |■イベントの挿入[名]: CSelf57[ウェイト数] = ["X[共]キー押し加速ウェイト計算"] <コモンEv 61> / CSelf57[ウェイト数]
| | | |▼ ディレイを設定
| | | |■変数操作: CSelf32[表示ディレイ] = 0 + 0
| | | |▼ 初期位置をシフト
| | | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| | | |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| | | |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| | | |■ピクチャ[ディレイ内容リセット]:CSelf21[一時ピクチャ番号]
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf41[一時項目表示X] Y:CSelf42[一時項目表示Y] / 0(0)フレーム / パターン 1 / 透 同値 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
| | | |▼ 目標位置まで慣性移動
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / CSelf57[ウェイト数](CSelf32[表示ディレイ])フレーム / パターン 1 / 透 同値 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
| | | |■イベントの挿入[名]: CSelf11[一時変数B] = ["X[共]キー押し加速ウェイト計算"] <コモンEv 61> / 3
| | | |■変数操作: CSelf32[表示ディレイ] += CSelf11[一時変数B] + 0
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / CSelf57[ウェイト数](CSelf32[表示ディレイ])フレーム / パターン 1 / 透 同値 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
| | | |■イベントの挿入[名]: CSelf11[一時変数B] = ["X[共]キー押し加速ウェイト計算"] <コモンEv 61> / 3
| | | |■変数操作: CSelf32[表示ディレイ] += CSelf11[一時変数B] + 0
| | | |■ピクチャ移動:CSelf21[一時ピクチャ番号] X:CSelf22[表示X] Y:CSelf23[表示Y] / CSelf57[ウェイト数](CSelf32[表示ディレイ])フレーム / パターン 1 / 透 同値 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
| | | |■回数付きループ [ 0 ]回
| | | | |■ウェイト:CSelf57[ウェイト数] フレーム
| | | | |■
| | | |◇ループここまで◇◇
| | | |■
| | |◇ループここまで◇◇
| | |■
| |◇分岐終了◇
| |■イベント処理中断
| |■
|◇分岐終了◇
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 30 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 30 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 「回復エフェクト」
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満
|-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満 ]の場合↓
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [フラッシュ] R-100/G200/B-100 (25)フレーム
| |■
|◇分岐終了◇
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf0[モード] が 40 と同じ
-◇分岐: 【1】 [ CSelf0[モード] が 40 と同じ ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 「行動エフェクト」
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|■条件分岐(変数): 【1】 CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満
|-◇分岐: 【1】 [ CSelf1[対象戦闘スロット] が CSelf16[最大パーティ数] 未満 ]の場合↓
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf1[対象戦闘スロット] * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] -= 10 * CSelf4[1キャラあたり使用ピクチャ数]
| |■変数操作: CSelf21[一時ピクチャ番号] += CSelf20[基本ピクチャ番号] + 0
| |■ピクチャエフェクト:CSelf21[一時ピクチャ番号] [フラッシュ] R80/G80/B80 (25)フレーム
| |■
|◇分岐終了◇
|■イベント処理中断
|■
◇分岐終了◇


記事No: 21326
タイトルRe: 戦闘画面で敵がどんどん下に寄ってしまう
投稿日: 2021/06/08 16:07
投稿者anonymous [rrgprdF253(海外)]

敵キャラのY座標を変更するには(敵キャラ画像の表示座標を上下に変更するには)
「175:X[戦]敵キャラ_座標算出」の33、37、41、47、51、55、61行目「CSelf23:表示先Y」に代入する数値を変更するとよいでしょう。
この数値を小さくすると、敵キャラ画像は画面の上部に表示されるようになります。
(数値を大きくすると、画像は画面の下部に表示されるようになる)


記事No: 21327
タイトルRe: 戦闘画面で敵がどんどん下に寄ってしまう
投稿日: 2021/06/09 01:09
投稿者Tark [rerrrrrdi278(海外)]

ありがとうございます、おかげで想定どおりの挙動になってくれました!


> 敵キャラのY座標を変更するには(敵キャラ画像の表示座標を上下に変更するには)
> 「175:X[戦]敵キャラ_座標算出」の33、37、41、47、51、55、61行目「CSelf23:表示先Y」に代入する数値を変更するとよいでしょう。
> この数値を小さくすると、敵キャラ画像は画面の上部に表示されるようになります。
> (数値を大きくすると、画像は画面の下部に表示されるようになる)