【解決済】戦闘背景スクロール後のズレについて

こごろう
記事: 17
登録日時: 2016年9月26日(月) 09:06

【解決済】戦闘背景スクロール後のズレについて

投稿記事by こごろう » 2021年2月17日(水) 17:14

いつもお世話になっております。
BattlebackScroll.js について教えて下さい。

【解決】戦闘背景のスクロールについて
viewtopic.php?t=3621
を拝見し、戦闘背景のスクロールは可能となりました。

戦闘中の演出として、技を使うと背景が横スクロールし、
技を終えると横スクロールが停止し、元の背景に戻したいのですが、
背景画像が毎回ズレて折り返し部分が見えてしまいます。

以下、戦闘中の流れです。
1必殺技を使う
2画面のフェードアウト
3演出用の戦闘背景(流背画像)に変更、および横スクロール開始
4画面をフェードイン
5ダメージやエフェクトなどを演出
6画面をフェードアウト
7演出用の戦闘背景の横スクロールを止める、背景を通常の背景に戻す
8画面をフェードイン


プラグイン「YEP_CoreEngine.js」のパラメータのScale Battlebacksをfalse にしている為か、
動作はするのですが、8にて戦闘背景が毎回ズレてしまいます。
(背景画像の折り返し部分が見えてしまう)

スクロールを停止させたタイミングでの背景画像の位置が引き継がれている感じなのですが、
戦闘背景画像のズレ、位置を修正する方法や、リセットする方法などないでしょうか?

よろしくお願いいたします。
最後に編集したユーザー こごろう on 2021年2月18日(木) 17:25 [ 編集 3 回目 ]

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 戦闘背景スクロール後のズレについて

投稿記事by ムノクラ » 2021年2月17日(水) 18:43

こごろう さんが書きました:いつもお世話になっております。
BattlebackScroll.js について教えて下さい。

【解決】戦闘背景のスクロールについて
viewtopic.php?t=3621
を拝見し、戦闘背景のスクロールは可能となりました。

戦闘中の演出として、技を使うと背景が横スクロールし、
技を終えると横スクロールが停止し、元の背景に戻したいのですが、
背景画像が毎回ズレて折り返し部分が見えてしまいます。

以下、戦闘中の流れです。
1必殺技を使う
2画面のフェードアウト
3演出用の戦闘背景(流背画像)に変更、および横スクロール開始
4画面をフェードイン
5ダメージやエフェクトなどを演出
6画面をフェードアウト
7演出用の戦闘背景の横スクロールを止める、背景を通常の背景に戻す
8画面をフェードイン


プラグイン「YEP_CoreEngine.js」のパラメータのScale Battlebacksをfalse にしている為か、
動作はするのですが、8にて戦闘背景が毎回ズレてしまいます。
(背景画像の折り返し部分が見えてしまう)

スクロールを停止させたタイミングでの背景画像の位置が引き継がれている感じなのですが、
戦闘背景画像のズレ、位置を修正する方法や、リセットする方法などないでしょうか?

よろしくお願いいたします。


未実験ですが、思いついた案をいくつか出します。

1.YEP_CoreEngine.js をOFFにした時にどうなるか?
これで位置がリセットされない場合、BattlebackScroll.js 自体の仕様だと思います。
2.別プラグインを試してみる。
YEP_ImprovedBattlebacks.js
同じYEPシリーズなら競合しないのでは?(するのもあるので、油断は禁物…笑)

日本語版 SRD Battle Background Scroll
https://fungamemake.com/archives/9434

実験結果によって、依頼内容が変わってくると思います。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
こごろう
記事: 17
登録日時: 2016年9月26日(月) 09:06

Re: 戦闘背景スクロール後のズレについて

投稿記事by こごろう » 2021年2月17日(水) 20:02

ムノクラ様

1.YEP_CoreEngine.js をOFFにした時にどうなるか?
試しましたが、ずれました。


2.別プラグインを試してみる。
日本語版 SRD Battle Background Scroll
https://fungamemake.com/archives/9434
BattlebackScroll.js 同様にずれました。
プラグイン「YEP_CoreEngine.js」のパラメータのScale Battlebacksをtrue
にすると、BattlebackScroll.jsと同様にエラーが出ました。


YEP_ImprovedBattlebacks.js について、現在有料になっており、
paypalで支払いしようとすると何故かクレジットカードが
登録できず購入できませんでした……。
海外サイトに直接カードで支払うのは抵抗があるので、
もうしばらくpaypalで支払えるよう試してみます。


その間に、もしも
準プラグインのBattlebackScroll.js
日本語版 SRD Battle Background Scroll
で、戦闘背景スクロール後のズレを修正できる方法がありましたらご教授願います。

よろしくお願いいたします。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 戦闘背景スクロール後のズレについて

投稿記事by ムノクラ » 2021年2月17日(水) 21:45

背景を戻す時にスクロール用の変数の値を0以下にすると、デフォルトの位置になるように改変しました。
お試しください。

MNKR_BattlebackScroll.js
(2.1 KiB) ダウンロード数: 7 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
こごろう
記事: 17
登録日時: 2016年9月26日(月) 09:06

Re: 戦闘背景スクロール後のズレについて

投稿記事by こごろう » 2021年2月17日(水) 23:48

ムノクラ様

ありがとうございます!
いただいたプラグインでズレが無くなりました!

もう一つお願いしてもよろしいでしょうか?
if (scrollX > 0) {
this._back1Sprite.origin.x += scrollX / 8;
} else {
this._back1Sprite.origin.x = originX;
}
if (scrollY > 0) {
this._back1Sprite.origin.y += scrollY / 8;
} else {
this._back1Sprite.origin.y = originY;
}
scrollXが0より大きければ右に移動し続ける
他の場合最初の位置に戻る
scrollYが0より大きければ下に移動し続ける
他の場合最初の位置に戻る

だと素人ながらに解釈しているのですが、
例えば
scrollXが0より大きければ右に移動し続ける
scrollXが0の場合最初の位置に戻る
scrollXが0より小さければ左に移動し続ける←new!!
scrollYが0より大きければ下に移動し続ける
scrollYが0の場合最初の位置に戻る
scrollYが0より小さければ上に移動し続ける←new!!

このようにするにはどう記述すればよろしいでしょうか?
よろしくお願いいたします。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 戦闘背景スクロール後のズレについて

投稿記事by ムノクラ » 2021年2月18日(木) 07:13

こごろう さんが書きました:ムノクラ様

ありがとうございます!
いただいたプラグインでズレが無くなりました!

もう一つお願いしてもよろしいでしょうか?
if (scrollX > 0) {
this._back1Sprite.origin.x += scrollX / 8;
} else {
this._back1Sprite.origin.x = originX;
}
if (scrollY > 0) {
this._back1Sprite.origin.y += scrollY / 8;
} else {
this._back1Sprite.origin.y = originY;
}
scrollXが0より大きければ右に移動し続ける
他の場合最初の位置に戻る
scrollYが0より大きければ下に移動し続ける
他の場合最初の位置に戻る

だと素人ながらに解釈しているのですが、
例えば
scrollXが0より大きければ右に移動し続ける
scrollXが0の場合最初の位置に戻る
scrollXが0より小さければ左に移動し続ける←new!!
scrollYが0より大きければ下に移動し続ける
scrollYが0の場合最初の位置に戻る
scrollYが0より小さければ上に移動し続ける←new!!

このようにするにはどう記述すればよろしいでしょうか?
よろしくお願いいたします。


やはり、未熟でした…
元のif文を読んだだけで(マイナスは無視されるのか)と解釈して変更してしまいました。
あの書き方でマイナスで動くとは…falsyの解釈を間違っていました…

大元に今回の処理を書き足しただけに戻しました。
変数の値が0になった時に、デフォルト位置に戻ります。
MNKR_BattlebackScroll.js
(2.09 KiB) ダウンロード数: 10 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
こごろう
記事: 17
登録日時: 2016年9月26日(月) 09:06

Re: 戦闘背景スクロール後のズレについて

投稿記事by こごろう » 2021年2月18日(木) 17:24

ムノクラ様

ありがとうございました!
無事動作いたしました。
早急なご対応誠に感謝いたします。
それでは失礼いたします。

“MV:質問” へ戻る