【解決済】WindowBackImage.js 同じ場面で複数のパラメータ指定

アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡を取る:

【解決済】WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by TEN » 2020年8月11日(火) 14:24

お世話になっております。

WindowBackImage.jsを使わせていただいているのですが、同じ場面で複数の設定を指定する事はできますでしょうか?

(例)
セーブ/ロード画面 ピクチャA スイッチ1
セーブ/ロード画面 ピクチャB スイッチ2
セーブ/ロード画面 ピクチャC スイッチ3 ……

パーティーの先頭キャラによってセーブ画面の画像を変えたいのですが、上記のように設定しても一番下に設定したパラメータのみ有効になるようでした。

同じ場面でスイッチにより画像を変える場合はどうしたらいいでしょうか?

キャプチャ.PNG
キャプチャ.PNG (123.52 KiB) 閲覧数: 2830 回

↑ のように先頭キャラを参照して並列イベントを置き、WindowBackImage.jsのパラメータ内 ↓ のように複数の画像を指定しています。
キャプチャ2.PNG
キャプチャ2.PNG (106.14 KiB) 閲覧数: 2830 回


これではダメなようなのでどなたかわかる方、ご教授いただきたいです。
よろしくお願いいたします。
最後に編集したユーザー TEN on 2020年8月12日(水) 11:55 [ 編集 1 回目 ]

===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇
論理イヌ
記事: 186
登録日時: 2020年3月13日(金) 13:05

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by 論理イヌ » 2020年8月11日(火) 21:30

条件分岐が違っているのではないでしょうか。

コード: 全て選択

$gameParty.members()[0].actorId() == 1

↑こちらを条件のスクリプトに入れると、「アクターID1の場合」になると思います。

参考:
パーティの先頭にいるアクターIDの取得
viewtopic.php?t=1348
アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by TEN » 2020年8月12日(水) 00:12

論理イヌ様 返信ありがとうございます。
お世話になっております。

コード: 全て選択

$gameParty.members()[0].name(1)

$gameParty.members()[0].actorId() == 1


どちらでも変わらずでした。
ちなみに条件分岐のテストとして

◆条件分岐:スクリプト:$gameParty.members()[0].name(1)
 ◆文章:あああ
:分岐終了

◆条件分岐:スクリプト:$gameParty.members()[0].actorId() == 1
 ◆文章:あああ
:分岐終了

どちらも試しました。
先頭がアクター1でゲームスタートすると「あああ」と文字の表示がされました。
ですのでスクリプトは間違っていないと思います。

WindowBackImage.jsにそういった機能がないのでしょうか……?
===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by Plasma Dark » 2020年8月12日(水) 03:00

先頭がアクター1でゲームスタートすると「あああ」と文字の表示がされました。
ですのでスクリプトは間違っていないと思います。


全く間違っています。
Game_Party.prototype.members の戻り値は Game_Actor の配列です。
Game_Actor.prototype.name は引数を要求せず、対象アクターの名前を返します。

$gameParty.members()[0].name(1) において、 name に渡している 1 は無意味な値です。
$gameParty.members()[0].name(1) であっても $gameParty.members()[0].name() であっても、結果は変わりません。
条件をこう書いた場合、先頭のアクターが誰であっても真になります。

また、パーティの先頭のアクターを取得する場合、 $gameParty.leader() という書き方も可能です。
先頭のキャラクターで分岐したい場合は $gameParty.leader().actorId() === アクターID の書き方で分岐すると良いでしょう。

このレベルであればまだ単純なのでどうにかなるかもしれませんが、スクリプトを書く場合は読んで意味を理解できるようにしておくことを推奨します。
理解できないままスクリプトを書き連ねると、メンテナンスできないものになってしまいます。

ところで、隊列変更で先頭を入れ替えてからセーブ画面にたどり着くまでにスイッチの書き換えを行うタイミングがない場合、要件であるところの 先頭キャラクターによってセーブ画面のウィンドウ背景を変更する が実現できないかと思います。
メニュー画面での隊列変更をさせず、イベントでのみ先頭キャラクターを入れ替えられるようにするのであれば問題はなさそうですが。
アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by TEN » 2020年8月12日(水) 03:52

Plasma Dark様 返信ありがとうございます。

私はスクリプトの知識が全くと言っていいほどなくて、先に載せていた条件分岐に使っているスクリプトもネットから見つけてきたもので、わからないままこうだろうと勝手に思い書いてしまいました。

Plasma Dark様が仰った通りにスクリプトで条件分岐をした所、先頭を入れ替える事で文章を表示する事はできました。
ありがとうございます。

しかし、なぜだかプラグインのほうが反応してくれなくて困っております。
パラメータに
セーブ/ロード画面 ピクチャ スイッチ1~
を15個作っているのですが、なぜか15番目のピクチャだけが表示された状態になります。
「一番下」のが表示されていると思っていたらそうではなくて、15番目に設定したパラメータと14番目に設定したパラメータを入れ替えても(つまり14番目に設定したものが一番下)、15番目のピクチャが表示されました。
そして試しにと思って、15番目に設定したものを消して14個のパラメータだけにしてみました。
そしたらセーブ画面に他のピクチャが表示されることはなく、通常通りの透明の背景?のままでした。
キャプチャ.PNG
キャプチャ.PNG (99.4 KiB) 閲覧数: 2738 回

上記の画像の赤線の部分のパラメータを消しても他のパラメータで設定したピクチャが表示される事はありませんでした。

これは他に原因があるのでしょうか?
厚かましいですがもう少しお付き合いいただけると幸いです。
===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by トリアコンタン » 2020年8月12日(水) 09:53

こんにちは!
プラグインのご利用ありがとうございます。

WindowBackImage.jsには、スイッチの状態により画像を切り替える機能があります。
まず、この機能のスイッチ番号が適切に設定されているかをご確認ください。

コメント 2020-08-12 094912.png
コメント 2020-08-12 094912.png (45.26 KiB) 閲覧数: 2703 回


そのうえで一旦スクリプト、イベントは置いておいて、デバッグ画面(F9で表示)からスイッチを設定して、期待通りにプラグインが動作しているかどうかを確認すれば問題の切り分けができると思います。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by TEN » 2020年8月12日(水) 10:12

トリアコンタン様 返信ありがとうございます。
そして提案をして下さりありがとうございます。

その方法は思いつかなかったです……
デバック画面で確認した所、期待通りの動きをしていました。
という事はプラグインは問題ないのですね。
では、条件分岐のスクリプトが間違っているという事なのでしょうか?

当方全くスクリプトがわからないのでもう一度お聞きしたいです。

キャプチャ.PNG

上記の画像でどこがわるいのかさっぱりわかりません……
先頭のアクターが1の場合、2の場合、3の場合……と続き全部で15まで条件分岐を作成しています。
どうすれば良いのかご教授いただけたら幸いです。

■試した事
・それぞれの条件分岐で先頭を変えて文章表示した(きちんと先頭を変えたら文章が表示されました)
・文章を無くしてスイッチに変えると(画像のように)セーブ画面が希望の画像にならない
===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇
論理イヌ
記事: 186
登録日時: 2020年3月13日(金) 13:05

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by 論理イヌ » 2020年8月12日(水) 11:05

試してみましたが、こちらの環境では動作しました。

マップイベントで並列処理をしているので、一度メニューを閉じてマップに戻らなければ
スイッチは入れ替わりません。

もしメニューを閉じずに実行したいという場合は、
「メニュー内コモンイベントプラグイン」(https://triacontane.blogspot.com/2017/11/blog-post.html)
を使って、コモンイベントで並列処理をするとできます。
(確認しました。)

「メニュー内コモンイベントプラグイン」を使う場合は、
コモンイベントを並列処理にしなくても、メニュー画面を開くと並列処理を実行してくれるので便利です。


一応、処理の内容を書きますが、記載していただいたのと一緒です。

コード: 全て選択

◆条件分岐:スクリプト:$gameParty.leader().actorId() === 1
  ◆スイッチの操作:#0001 a1 = ON
  ◆スイッチの操作:#0002 a2 = OFF
  ◆
:分岐終了
◆条件分岐:スクリプト:$gameParty.leader().actorId() === 2
  ◆スイッチの操作:#0001 a1 = OFF
  ◆スイッチの操作:#0002 a2 = ON
  ◆
:分岐終了
添付ファイル
スクリーンショット 2020-08-12 11.08.23.png
プラグインの設定。
スクリーンショット 2020-08-12 11.08.23.png (114.69 KiB) 閲覧数: 2663 回
アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡を取る:

Re: WindowBackImage.js 同じ場面で複数のパラメータ指定

投稿記事by TEN » 2020年8月12日(水) 11:54

理論イヌ様

並列イベントで一度メニューから戻っても起動されなかったため、紹介いただいたプラグインを導入する事にしました。
これは素晴らしいプラグインですね(^^♪
コモンイベントに用意して、これを導入したらメニューから並び替えしてもきちんと反映されました。

これで希望通りの事ができました。

ご助力いただいた論理イヌ様、Plasma Dark様、トリアコンタン様、本当にありがとうございました。
助かりました♪
===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇

“MV:質問” へ戻る