> [やりたいこと]
> 戦闘画面の、モンスターのHPなどが表示される欄の表示位置をモンスターごとに変更したい
>
> [やってみたこと]
> X[戦]敵キャラ_単体描画で表示位置を色々弄ってみた
>
> [やってみた結果、どううまくいかないか]
> 移動自体はなんとかできたものの、グループ内のモンスター全部がまとめて動いてしまう。
> モンスター別に表示位置を動かしたいのだが、どうしたらいいか判らなくて手をこまねいている状態。
例えばユーザーDB[9:敵キャラ個体データ]に新たな項目を2つ作る。
[変数][HP表示補正X][初期値=0]
[変数][HP表示補正Y][初期値=0]
そしてHPの表示位置を移動したい敵キャラの「HP表示補正X」「HP表示補正Y」に移動量を設定する。
「HP表示補正X」にプラス値を設定すると通常のX表示位置から右へ移動し、マイナス値を設定すると左へ移動する。
「HP表示補正Y」にプラス値を設定すると通常のY表示位置から下へ移動し、マイナス値を設定すると上へ移動する。
コモンイベント[179:X[戦]敵キャラ_単体描画]の69行目に以下のイベントを追加。
■DB読込(可変): CSelf11[一時変数B] = 可変DB[ 10 : CSelf1[対象戦闘スロット] : 17 ] (×┏ 戦闘一時ステータス[基] : - : キャラクタ番号[1万以上は敵])
■変数操作: CSelf11[一時変数B] %= 10000 + 0
■DB読込(ユーザ): CSelf66[HP位置X] += ユーザDB[ 9 : CSelf11[一時変数B] : HP表示補正X ] (敵キャラ個体データ : - : 26)
■DB読込(ユーザ): CSelf67[HP位置Y] += ユーザDB[ 9 : CSelf11[一時変数B] : HP表示補正Y ] (敵キャラ個体データ : - : 27)
■DB読込(ユーザ): CSelf70[HPゲージX] += ユーザDB[ 9 : CSelf11[一時変数B] : HP表示補正X ] (敵キャラ個体データ : - : 26)
■DB読込(ユーザ): CSelf71[HPゲージY] += ユーザDB[ 9 : CSelf11[一時変数B] : HP表示補正Y ] (敵キャラ個体データ : - : 27)
WoditorEvCOMMAND_START
[250][5,4]<0>(10,1600001,17,4096,1600011)("","","","")
[121][4,0]<0>(1600011,10000,0,1280)()
[250][5,4]<0>(9,1600011,26,266768,1600066)("","","","HP表示補正X")
[250][5,4]<0>(9,1600011,27,266768,1600067)("","","","HP表示補正Y")
[250][5,4]<0>(9,1600011,26,266768,1600070)("","","","HP表示補正X")
[250][5,4]<0>(9,1600011,27,266768,1600071)("","","","HP表示補正Y")
WoditorEvCOMMAND_END
敵グループ単位で補正する場合は、まずユーザーDB[13:敵グループ]に以下の項目を追加。
[変数][敵1HP補正X][初期値=0]
[変数][敵1HP補正Y][初期値=0]
[変数][敵2HP補正X][初期値=0]
[変数][敵2HP補正Y][初期値=0]
[変数][敵3HP補正X][初期値=0]
[変数][敵3HP補正Y][初期値=0]
[変数][敵4HP補正X][初期値=0]
[変数][敵4HP補正Y][初期値=0]
[変数][敵5HP補正X][初期値=0]
[変数][敵5HP補正Y][初期値=0]
[変数][敵6HP補正X][初期値=0]
[変数][敵6HP補正Y][初期値=0]
[変数][敵7HP補正X][初期値=0]
[変数][敵7HP補正Y][初期値=0]
コモンイベント[179:X[戦]敵キャラ_単体描画]の69行目に以下のイベントを追加。
■変数操作: CSelf12[一時変数C] = CSelf1[対象戦闘スロット] - 10
■変数操作: CSelf12[一時変数C] *= 2 + 0
■変数操作: CSelf12[一時変数C] += 12 + 0
■DB読込(ユーザ): CSelf66[HP位置X] += ユーザDB[ 13 : 可変DB(18,72,0)[[戦闘]敵グループ番号 数値 ] : CSelf12[一時変数C] ] (敵グループ : - : -)
■DB読込(ユーザ): CSelf70[HPゲージX] += ユーザDB[ 13 : 可変DB(18,72,0)[[戦闘]敵グループ番号 数値 ] : CSelf12[一時変数C] ] (敵グループ : - : -)
■変数操作: CSelf12[一時変数C] += 1 + 0
■DB読込(ユーザ): CSelf67[HP位置Y] += ユーザDB[ 13 : 可変DB(18,72,0)[[戦闘]敵グループ番号 数値 ] : CSelf12[一時変数C] ] (敵グループ : - : -)
■DB読込(ユーザ): CSelf71[HPゲージY] += ユーザDB[ 13 : 可変DB(18,72,0)[[戦闘]敵グループ番号 数値 ] : CSelf12[一時変数C] ] (敵グループ : - : -)
WoditorEvCOMMAND_START
[121][4,0]<0>(1600012,1600001,10,4096)()
[121][4,0]<0>(1600012,2,0,768)()
[121][4,0]<0>(1600012,12,0,256)()
[250][5,4]<0>(13,1118007200,1600012,4624,1600066)("","","","")
[250][5,4]<0>(13,1118007200,1600012,4624,1600070)("","","","")
[121][4,0]<0>(1600012,1,0,256)()
[250][5,4]<0>(13,1118007200,1600012,4624,1600067)("","","","")
[250][5,4]<0>(13,1118007200,1600012,4624,1600071)("","","","")
WoditorEvCOMMAND_END
上記の設定例は、ユーザーDB[13:敵グループ]に追加した項目番号が「12〜25」の時の設定です。
追加した項目番号が「13〜26」の時には、上記の「12 + 0」の設定を「13 + 0」に変えてください。
ちなみに敵キャラごとの補正と敵グループごとの補正の両方を設定する事もできます。