triacontane / RPGMakerMV

RPGツクールMV、MZで動作するプラグインです。
Other
282 stars 131 forks source link

1.7.3 2022/09/16 動画のロード完了とマップ遷移が同一フレームで起こるとエラーになる不具合を修正 #66

Closed elleonard closed 2 years ago

elleonard commented 2 years ago

現象

MV向けの MoviePicture.js には以下の不具合があります。

  1. 動画のロード完了フレームに対象となる Sprite_Picture インスタンスの .prepareVideo() が実行され、 ._loadingStateprepared になる
  2. マップ遷移により、 Scene_Map.terminate() が実行され、再生中の動画を破棄すべく、 Spriteset_Base.clearAllVideo() が実行される

以上により、 Sprite_Picture インスタンスは .bitmap === null かつ ._loadingState === 'prepared' の状態となり、その直後に呼ばれる Spriteset_Base.updateVideoPicture() で条件を満たして .startVideo() が実行されてしまいます。

対応

.startVideo 内で .bitmap の null チェックを行う方法も考えましたがやや対症療法的で、 ._loadingState.clearVideo で初期化されないほうが直感に反するように思えたので、そちらを修正しています。