ページ 11

【解決済み】「画面の色調変更」の影響を受けずにアニメーションを表示したい。

Posted: 2024年3月17日(日) 00:43
by BlackBear27
 いつもお世話になっています。

 「画面の色調変更」を使って薄暗くしたマップで「アニメーションの表示」のイベントを実行した際に、アニメーションの色が「画面の色調変更」の影響を受けてしまい、思った色合いにならなくて困っております。
 アニメーションの表示を「画面の色調変更」のレイヤーより上などにすることはできないでしょうか?

 なお、トリアコンタンさんの「指定座標へのアニメ表示 - AnimationByPoint.js」でなんとかならないかと試してみましたが、自分の環境ではうまくいきませんでした。

Re: 「画面の色調変更」の影響を受けずにアニメーションを表示したい。

Posted: 2024年3月17日(日) 03:37
by Plasma Dark
アニメーション用のSpriteは、Spriteset_Baseクラスの持つ_effectsContainerの子として追加することで表示しています。
マップにおいて_effectsContainerはタイルマップであり、_baseSpriteの子です。
マップの色調変更は_baseSprite全体にかかるので、_effectsContainerを_baseSpriteの子ではなく兄弟にしてあげればアニメーションをマップの色調変更の呪縛から解き放つことができます。

ただし、_effectsContainerにはフキダシも子として追加されるため、フキダシにも色調変更が効かなくなります。

Spriteset_Map.prototype.createTilemapの末尾で_effectsContainerをthisとかに変えるようなプラグインを書けばとりあえずは目的が達成できそうです。

Re: 「画面の色調変更」の影響を受けずにアニメーションを表示したい。

Posted: 2024年3月17日(日) 12:24
by BlackBear27
>Plasma Darkさん

 スクリプトでいつもお世話になっております。

 なるほど、親のクラスごと処理されているという事ですか。
 どうりで色々と試しても効果が出ないわけです……。

 プラグインだとちょっと手が出せないので、リクエストを出すしかなさそうですね。
 当面は手持ちの技術でどうにかごまかしてみようかと思います。

 アドバイスありがとうございました!


 追記
 技術的な説明で納得し、別スレッドでプラグインの作成依頼を立てましたので、こちらは解決済みとさせていただきます。