概要
アイテムウインドウなどで,複数の項目を選択できるようにします.
このスクリプトは開発者向けのスクリプトです.
スクリプト
中身をすべてコピーして,ツクールのスクリプトに新たなセクションを作成し,貼り付けてください.
使用方法
スクリプトに丸ごと貼り付けていただければ使用できます.
このスクリプトでは複数選択の機能のみを導入します.
実際の挙動はハンドラを設定することで自由にカスタマイズできます.
設定できるハンドラは以下の通りです.
- :multiselect
- 通常時,複数選択ボタンが押されたとき
- :multi_ok
- 複数選択時,決定ボタンが押されたとき
- :multi_cancel
- 複数選択時,キャンセルボタンが押されたとき
- :multi_pageup
- 複数選択時,PageUpボタンが押されたとき
- :multi_pagedown
- 複数選択時,PageDownボタンが押されたとき
- :multi_multiselect
- 複数選択時,複数選択ボタンが押されたとき
複数選択処理を追加するには:multiselect,:multi_ok,:multi_cancel,:multi_multiselectのハンドラの設定が必須になります.
また,以下のWindow_Selectableのメソッドを通して各種操作を行うことができます.
- Window_Selectable#multiselect?
- 複数選択モードかどうか
- Window_Selectable#multiselect=(multi)
-
複数選択モードをtrueかfalseで切り替えます.
このとき,選択項目が自動的に初期化されます.
- Window_Selectable#init_multiselect
- 選択項目をすべて解除します.
- Window_Selectable#change_multiselect(index, color = nil)
-
indexで指定された項目の選択状態を逆転します.
このとき,colorを指定すると,項目が選択された場合はその色の背景になります.
- Window_Selectable#multiselect_index
- 選択項目の一覧をインデックスの配列で返します.
- Window_Selectable$multiselected?(index)
- indexで指定された項目が選択中か真偽値で返します.
さらに,以下の式で詳細設定で設定した効果音を鳴らすことができます.
Sound.se_multiselect
詳細設定の欄では以下の項目が設定できます.
- SELECTED_COLOR
- 選択されている項目のデフォルトの背景色です
- MULTISELECT_KEY
- 複数選択を行うボタンです
- SOUND
- 複数選択音のファイル名です
- VOLUME
- 複数選択音のボリュームです
- PITCH
- 複数選択音のピッチです
注意
このスクリプトでは「Window_Selectable」のメソッドを改変しています.