【解決済み】ステータスウィンドウ更新時のエラーついて

返信する
しらそまん
記事: 20
登録日時: 2018年3月12日(月) 22:50

【解決済み】ステータスウィンドウ更新時のエラーついて

投稿記事 by しらそまん »

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

以前こちらで質問させていただいたステータスウィンドウ更新の方法として
SceneManager._scene._statusWindow.refresh();
のスクリプトを使わせてもらっております。

こちらなのですが、本当にごくごく稀になのですが、この部分で
TypeError: SceneManager._scene._statusWindow.refresh is not a fuction
とエラーを起こします。

色々調べてみたのですが、ちょっと私には手のつけようが有りませんでした…。

これについて心当たりがある方がいたら教えを請いたいです。
最後に編集したユーザー しらそまん [ 2021年10月07日(木) 02:12 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: ステータスウィンドウ更新時のエラーついて

投稿記事 by Plasma Dark »

viewtopic.php?f=23&t=7997&p=29485#p29485

こちらの記事ですね。どういったイベントを組んでいるのか、イベントスクリプトそのもののコピーなりスクショなりがないとわかりませんが……。
TypeError: SceneManager._scene._statusWindow.refresh is not a fuction
戦闘中にこれが起こるのは謎ですね。思い浮かぶ原因としては、戦闘以外のシーンで実行されてしまっているとか、戦闘が始まりきっていないタイミングで実行されてしまっているとかでしょうか。
以下のスクリプトのほうが安全ではあると思いますが、今回のエラーについて解消できるかはわかりません。

コード: 全て選択

if (SceneManager.isCurrentSceneStarted() && SceneManager._scene instanceof Scene_Battle) {
  SceneManager._scene.refreshStatus();
}
しらそまん
記事: 20
登録日時: 2018年3月12日(月) 22:50

Re: ステータスウィンドウ更新時のエラーついて

投稿記事 by しらそまん »

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

以下のようにコモンイベントを組んで、戦闘時のイベント時、ステータスを更新したいときに呼び出しています。
私も最初戦闘外で行っていないかと考えて、戦闘時以外行わないように条件を追加しましたが、これでも起こるようです。
ステ更新.jpg
また新しいスクリプトを教えていただきありがとうございます。
こちらを試させていただきます。
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: ステータスウィンドウ更新時のエラーついて

投稿記事 by Plasma Dark »

以下のようにコモンイベントを組んで、戦闘時のイベント時、ステータスを更新したいときに呼び出しています。
SceneManager._sceneが戦闘シーンでないことか、_statusWindowが異常値になっているかわかりませんが、どうしても発生するようでしたら、 console.log(SceneManager._scene) でも仕込んでエラー発生時の状況を確認されると何かわかるかもしれません。
しらそまん
記事: 20
登録日時: 2018年3月12日(月) 22:50

Re: ステータスウィンドウ更新時のエラーついて

投稿記事 by しらそまん »

ありがとうございます…!

再現性がないので運頼みなのも有るのですが、教えていただいたものでなんとかエラーの原因を探りたいと思います。
返信する

“MV:質問”に戻る