LNS002 ファイル選択ダイアログ

Windows のファイル選択ダイアログを表示する機能を追加します。






基本情報

前提スクリプト


拡張タイプ

△ 開発用 (導入するだけでは特に変化しない)


説明

概要

 Windows のファイル選択ダイアログを制御するモジュール SelectFile を提供します。
 このスクリプトで定義されるメソッドは「ファイル名」のみを返し、ファイルの内容には特にアクセスしません。実際にファイルを読み込んだり書き込んだりする場合は、呼び出す側でその処理を行う必要があります。

メソッド

● SelectFile.open(options)

「ファイルを開く」ダイアログを呼び出し、選択されたファイル名を返します。
  • ファイルが複数選択された場合は、ファイル名の配列が返ります。
  • キャンセルなどでファイルが選択されなかった場合は nil が返ります。
  • options には開く際のオプションをハッシュで指定します。

● SelectFile.save(options)

「名前をつけて保存」ダイアログを呼び出し、選択されたファイル名を返します。
  • ファイルが複数選択された場合は、ファイル名の配列が返ります。
  • キャンセルなどでファイルが選択されなかった場合は nil が返ります。
  • options には開く際のオプションをハッシュで指定します。

options の内容

options にはハッシュを指定します。キーと値の対応は以下の通りです。
:ext
選択できるファイルの拡張子を Symbol で指定します。複数選択可能にしたい場合はシンボルの配列にします。
:title
ダイアログのタイトルを指定します。
:multi
真の場合、ファイルを複数選択できます。このオプションが有効な場合、戻り値はファイル名の配列になります。
:new
真の場合、開く際に存在しないファイル名も指定できます。存在しないファイル名が指定された場合、新規に作成するかを問われます。
:overwrite
真の場合、保存の際にすでに存在するファイル名を指定した場合、上書きの確認をせずに確定されます。(※このあと指定されたファイルに対して上書き処理をしない限り、実際に上書きされることはありません。)

オプションは以下のような形式で指定します。
SelectFile.open(:ext => [:png, :bmp], :title => "開くファイルを選択", :new => true)
開かせたい対象のファイルが1種類で、タイトルなど他のオプションを変える必要が無い場合は、optionsに直接ファイルタイプのシンボルを渡すこともできます。
SelectFile.open(:txt)  # => .txt のファイルを選択させる


備考

再定義されるメソッド

なし

設定項目

File_Types
options に渡すことのできるシンボルを定義します。書式はスクリプト内のコメントを参照してください。


更新履歴

  • 2020/12/28 新版公開(機能は旧版から変化なし)

  • こんにちは。不具合を発見したのでご報告いたします。 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月28日 21:37