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