LNS120 サブシーン

シーン遷移の挙動を変更します。





基本情報

前提スクリプト

なし

拡張タイプ

△ 開発用 (導入するだけでは特に変化しない)
◆ 要注意 (内部の挙動を変えるため競合の可能性あり)


説明

概要

  • 通常は平面的に行われるシーンの遷移の他に、「サブシーン」と呼ぶ階層的な遷移を追加します。
  • サブシーンは SceneManager.call メソッドの第二引数に true を指定することで適用されます。
  • サブシーンは通常のシーン呼び戻しと同様にSceneManager.return によって親シーンに戻ります。

強制階層化

Caller = {
# (呼び出し元メソッド名) => (フラグ),
  "command_302"         => true, 
}
  • SceneManager.call を呼び出したメソッドが Caller のキーに含まれる場合、強制的にシーンを階層化します。
  • この挙動は LNS121 メニュー階層化 などで利用されます。


備考

再定義されるメソッド

SceneManager.run
SceneManager.scene
SceneManager.goto
SceneManager.call
SceneManager.return
SceneManager.clear
SceneManager.exit
  • 全て、サブシーン(シーン呼び出し階層)に対応した処理に再定義します。

設定項目

Caller
強制的に階層化する呼び出し元メソッドのリスト


更新履歴

  • 2020/12/29 新版公開

  • こんにちは。不具合を発見したのでご報告いたします。 LNS000 組み込み拡張 LNS010 Input拡張 LNS100 プリセット拡張 LNS102 マウス操作 LNS140 マップ/キャラ拡張 の5つを導入した状態で、マップ画面でマウスカーソルをゲームウインドウの外側で大きく動かすなどすると、「 スクリプト 'LNS 140 マップ/キャラ拡張' の 980 行目で IndexError が発生しました。 index -1 too small for array; minimum: 0 」というエラーメッセージが表示され、ゲームが終了してしまいます。 スクリプトは全て最新で、内容は改変していません。 -- 2022-07-26 01:29:40
  • 確認が遅れましたが、対応修正しました。正確には「既に対応済みであったがアップロードを忘れていた」という状態でした…… -- 2022-11-01 15:39:07
  • 対応ありがとうございます!しかし LNS000, 010, 100, 102, 140 の5つを入れた状態で起動直後に「スクリプト 'LNS140 マップ/キャラ拡張' の 1719 行目で NameError が発生しました。 undefined method 'lns102_dash?' for class 'Game_Player'」と表示され、終了します。 -- 2022-12-24 16:39:35
コメント:

すべてのコメントを見る
最終更新:2020年12月29日 04:48