[過去ログ] RPGツクールMZ_27作目 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
856
(4): 名前は開発中のものです。 [sage] 2024/01/05(金) 20:31:46.56 ID:R2mCKrHC(1/2) AAS
スクリプトの質問があります。
もしもご存じでしたらご教示お願いします。

やりたいこと
・サイドビュー戦闘中、味方パーティーのキャラ表示位置をキャラごとに変えたい
今まで調べたこと
・キャラのx,y座標はSprite_Battlerの_homeXと_homeYが基準座標になっててこれを書き換えれば表示場所が変わる
・戦闘開始時に変えるだけならSprite_Actor.prototype.setActorHome内でindex毎に条件分岐でも使って変えればいいが、ここを修正しただけでは戦闘中に変わらない
・自分だけを変えたいなら、何かしらの行動においてthisを使って_homeX、_homeYを書き換える処理を組み込めばよい
わからないこと
・Sprite_Battler._homeXとSprite_Battler._homeYを直接書き換えたいが、そのためのキャラごとのプロパティの呼び出し方
 (「オブジェクト名.~.オブジェクト名._homeX = (座標);」てな感じで処理したい
  要するにthisが差しているフルネーム?が知りたい)

なお、うなぎおおとろ氏の「陣形システム v1.3.0」は解析中です。
857
(1): 名前は開発中のものです。 [sage] 2024/01/05(金) 22:31:44.32 ID:R2mCKrHC(2/2) AAS
追記:とりあえずできたこと
Sprite_Battler.prototype.updatePosition = function() {
if($gameSwitches.value(1) === true){ // 適当なスイッチ
if(this._actor){
if(this._actor._actorId === 1){ // 座標を変える「アクター」のID
this._homeX = 500;
}
}
}
this.x = this._homeX + this._offsetX;
this.y = this._homeY + this._offsetY;
};
で無理やり変えることはできましたが、キャラの識別に戦闘参加キャラのアクターIDを使っているとともに、
Sprite_Battler.prototype.updatePositionは毎フレーム処理するのでここで条件分岐をするのも非効率なため、
よりスマートな手段があれば教えてほしいです。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.053s