ページ 1 / 1
【解決済み】特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月13日(金) 13:12
by あんどう
やりたい事は以前投稿させていただいた以下内容と同じなのですが、
【アクターごとに立ち位置を個別に設定】よりも【スイッチ管理でパーティの立ち位置を調整】の方が
スクリプト的に楽かと思い、質問させていただきました。
あんどう さんが書きました:主人公や仲間たちの基本的な立ち位置は標準設定の位置だけど、
特定のアクターだけは立ち位置を個別に設定したいと考えています。
具体的には『主人公の師匠が単身で敵の拠点に乗り込む』といったイベントバトルを想定しているため、
この特定アクターは他アクターとパーティを組むことはありません。
よって比較的自由にx軸・y軸の設定ができますと非常に嬉しいです…!
【スイッチ01がOFFの時はパーティ立ち位置は初期状態、スイッチ01がONの時はx軸+50 / y軸+50】
といったようなスクリプトの追記をしたいのですが、どのファイルのどこにif文を書けばいいか分からず…。
どなたか教えていただけますでしょうか?よろしくお願いします。
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月13日(金) 13:36
by 剣崎 宗二
rpg_sprite.js内の此方が該当します。
コード: 全て選択
Sprite_Actor.prototype.setActorHome = function(index) {
this.setHome(600 + index * 32, 280 + index * 48);
};
indexは「何番目のキャラクターか」ですね。
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月13日(金) 17:50
by あんどう
返信ありがとうございます!
素人ながら色々と頑張ってみたのですが、うまくスクリプトが書けず…
【if ($gameSwitches.value(1)) {】を入れて「600」「280」の数値を条件分岐で調整したいのですが
具体的な書き方を教えていただけないでしょうか…?
Sprite_Actor.prototype.setActorHome = function(index) {
this.setHome(600 + index * 32, 280 + index * 48);
};
すみませんがよろしくお願いします…!
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月13日(金) 18:09
by 剣崎 宗二
簡易にやる場合こうかと。
コード: 全て選択
Sprite_Actor.prototype.setActorHome = function (index) {
if ($gameSwitches.value(1)) {
this.setHome(200 + index * 32, 200 + index * 48);
}
else
{
this.setHome(600 + index * 32, 280 + index * 48);
}
};
スイッチが入ってる時は大きくずれるはずです。
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月16日(月) 10:29
by あんどう
すみません、書いていただいたのをそのままをコピペして貼ったのですが、
スイッチ1のON / OFFを変えても初期位置から何も変わらず…。
何か他に良い方法はありますでしょうか?
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月16日(月) 12:37
by 剣崎 宗二
スイッチ1のON / OFFを変えても初期位置から何も変わらず…
コピペして貼った、とはどこに貼ったのでしょうか?
当方で様々な所に貼ってみた結果、マップでのスクリプトの呼び出し、新規プラグインとしての製造、rpg_sprite.jsへの差し替え等いずれも有効だったので、寧ろ「どこに貼れば効果が出ないのか」が分からない状態です。
また、詳しく行ったことの手順を教えてください。
当方は(新規プラグインにした場合を例に致しますと):
1. プラグインを入れてセーブする
2. 戦闘が開始する「前」にイベントコマンドでスイッチ1をONにする
3. 戦闘を開始する
これで思いっきり左に位置が動きました。
Re: 特定スイッチがONの時のみ、戦闘開始時のsvアクター初期位置を変更したい
Posted: 2019年12月19日(木) 20:06
by あんどう
すみません、誠に勝手ながら以下記事に同じ問題・解決方法が書いてあり、
こちら参考にして解決してしまいました。
viewtopic.php?t=4434
自学のためにもコピペについてお伝えしますと、
以前教えていただいた「rpg_sprite.js」内の以下箇所に、
剣崎 宗二 さんが書きました:rpg_sprite.js内の此方が該当します。
コード: 全て選択
Sprite_Actor.prototype.setActorHome = function(index) {
this.setHome(600 + index * 32, 280 + index * 48);
};
indexは「何番目のキャラクターか」ですね。
以下で教えていただいた文章を上からコピペしました。
剣崎 宗二 さんが書きました:簡易にやる場合こうかと。
コード: 全て選択
Sprite_Actor.prototype.setActorHome = function (index) {
if ($gameSwitches.value(1)) {
this.setHome(200 + index * 32, 200 + index * 48);
}
else
{
this.setHome(600 + index * 32, 280 + index * 48);
}
};
スイッチが入ってる時は大きくずれるはずです。
一見なんら問題なく解決するかと僕も思ったのですが、
該当スイッチをON / OFFどちらにしても位置が変わりませんでした。
もしかしたら、他プラグインとの競合などが原因かもしれません。
課題自体は解決できましたので、恐縮ですが解決済みとさせていただきます。
勉強になりました、ありがとうございました!