<拡張> 名前入力の処理

■ 概  要

  • ・ 入力できる文字を増加可能になります。
  • ・ 漢字入力が可能になります。
  • ・ 半角文字(英数字、カタカナ)の入力が可能になります。
  • ・ ランダムに名前を付けられるようになります。

■ スクリーンショット


※ 画像は開発中のものです。

■ 更新履歴

■ スクリプト

■ 使用準備

■ 背景画像

※ 背景画像を使用しない場合は必要ありません。
Graphics/System フォルダにサイズ 544 x 416 の画像を用意してください。
背景画像の設定で、そのファイル名を設定してください。

■ 文字セットの追加

※ 漢字を使用しない場合は必要ありません。
※ ひらがな・カタカナ・英数字は、デフォルトで定義されいます。
本体スクリプトより下に導入してください。
文字化けする場合は、ブラウザの文字コードを Shift-JIS に変更してください。


常用漢字A

常用漢字B

半角英数字

半角カタカナ

■ 文字セットの定義

※ 独自の文字セットを使用しない場合は、設定の必要はありません。
Window_NameInput::TABLE(配列) に一次元配列で追加します。

Window_NameInput::TABLE << [
  'あ','い','う','え','お',  'が','ぎ','ぐ','げ','ご',
]

1要素1文字で記述してください。定義できる数に制限はありません。
ただし、配列の要素数は、10の倍数にそろえてください。

配列ではなくハッシュを使用した場合は、2段構えの文字セットになります。

Window_NameInput::TABLE << {
   0   => ['あ', '' , '' , '' , '' ,   '' , '' , '' , '' , '' ],
  
  'あ' => ['あ','い','う','え','お',  'が','ぎ','ぐ','げ','ご']
}

最初に表示される文字一覧は、0 に追加してください。
次に表示される文字一覧は、最初の一覧と同じ文字をキーにしてください。
選択された文字と同じキーの配列が表示されます。

■ 設定項目

■ グラフィック表示の初期設定

DEFAULT_MODE = 1

0 .. 何も表示しない
1 .. 顔グラのみ表示する
2 .. 歩行グラのみ表示する
3 .. 顔グラ、歩行グラの両方を表示する

■ 入力文字が空の場合の初期設定

DEFAULT_EMPTY = 1

0 .. 終了禁止
1 .. 元に戻して終了する (プリセットと同じ処理)
2 .. 空文字のまま終了する

■ メニューの設定

メニュー項目は必ず9つの設定を行います。
COMMANDS[順番] = ["項目名", 処理設定] のように設定します。

処理設定
nil      .. その項目を使用しません。空白として表示されます。
数字     .. 指定の文字セットに変更します。(0:ひらがな、1:カタカナ、2:英数字)
            文字セットを追加した場合は、順番に 3 以降の数字が割り当てられます。
:ok      .. 処理終了。編集ウィンドウの名前に変更されます。
:back    .. 一字削除。編集中の名前の後ろから一文字を削除します。
:cancel  .. 処理終了。編集中の名前を破棄します。
:random  .. ランダムネーム設定の中からランダム選択します。
:default .. 編集中の名前を最初の状態に戻します。
:jump    .. 決定項目(:ok)にカーソルを移動します。
:now     .. 現在選択中の文字セット項目(数字)にカーソルを移動します。
:next    .. 次の文字セットに変更します。
:prev    .. 前の文字セットに変更します。

■ 文字セットの決定時に移動

AUTO_SWITCH = true

メニュー項目から文字セットを変更した場合に、
文字選択ウィンドウへカーソルを移動するかを設定します。
trueなら移動する。falseなら移動しない。

■ メニューを左側に表示する

LEFT_MENU = true

メニューの位置を設定します。
trueなら左側にfalseなら右側に表示します。

■ 独立したメニューを使用する

SEPARATE_MENU = false

メニューと選択ウィンドウを別のものとして扱うかを設定します。

trueなら、別々のウィンドウとなります。
・ ウィンドウ間の移動がカーソルキーで行えなくなります。
・ 文字セット項目を選択すると選択ウィンドウで移動します。
・ AUTO_SWITCH 設定を無視します。
・ 選択ウィンドウからはBボタンでメニューへ戻ります。
・ Bボタンでの文字削除はできません。
・ 文字選択中もメニューの文字セット項目にカーソルを残します。
falseなら、1つのウィンドウとして扱います。
・ ウィンドウ間をカーソルキーで移動できます。

■ ウィンドウを切り離す

SEPARATE_WINDOW = false

trueだと、メニューと文字選択で2つのウィンドウを表示します。
falseだと、メニューと文字選択を1つのウィンドウで表示します。

■ ショートカットキーの設定

PROCESS_BUTTON = {}
PROCESS_BUTTON[:A] = :jump
PROCESS_BUTTON[:X] = :back
PROCESS_BUTTON[:Y] = :default
PROCESS_BUTTON[:Z] = :random
PROCESS_BUTTON[:L] = nil
PROCESS_BUTTON[:R] = nil

メニューの設定」の処理設定と同じものを設定できます。
だたし、文字セット(数字)は設定できません。

■ キャンセルボタンの設定

COMMAND_BUTTON_B = :cancel     # メニューでの動作
INPUT_BUTTON_B   = :now        # 文字選択での動作

メニューの設定」の処理設定と同じものを設定できます。
だたし、文字セット(数字)は設定できません。
※ L・Rボタンの設定をnilにした場合は、ページ送り機能となります。

■ 基本文字セットの設定

USE_HIRAGANA = true           # ひらがな
USE_KATAKANA = true           # カタカナ
USE_ALPHANUMERIC = true       # 英数字

基本文字セットの使用の有無を設定します。
使用しない文字セットはfalseにしてください。
:next や :prev を使用する設定の場合に影響します。

※ 基本文字セットを使わない場合は、
処理設定での文字セットの番号がずれるのでご注意ください。

■ 漢字入力時のひらがなをシステムカラーにする

CHANGE_KANA_COLOR = true

※ 漢字と同じタイプの文字セットを使用した場合は、独自のものでも適用されます。

■ 背景画像

画面全体に表示する画像の設定を行います。
画像を表示する場合は、そのファイルを設定してください。
表示しない場合は、nilとしてください。

前景画像
FILE_FOREGROUND_NAME = nil

最前面に表示される画像です。
ウィンドウより手前に表示されるので、操作方法などの表示にも適しています。

背景画像
FILE_BACKGROUND_NAME = nil

デフォルトでは、マップ画像が使用されます。
ここでファイルを指定すれば、その画像に置き換えられます。

ウィンドウ背景画像
FILE_BACKIMAGE_NAME = nil

背景画像の上に表示される画像です。
ウィンドウよりも下に表示されます。

■ ウィンドウの可視状態

VISIBLE_BACKWINDOW = true

falseにするとウィンドウを非表示にして内容のみ表示します。

RANDOM_NAME = {}

処理設定 :random で使用する名前の一覧です。

RANDOM_NAME[nil] = ["名前A", "名前B", "名前C"]

ランダムネームを使用する場合は、このように設定を追加してください。 この設定は、すべてのアクターに適用されます。

アクターごとに候補を変更したい場合は、次の設定を追加してください。

RANDOM_NAME["キーワード"] = ["名前A", "名前B", "名前C"]

アクターもしくは、職業のメモ欄に<RN:キーワード>と記述すると
アクター別に候補を設定できます。キーワードは好きに決めてください。
職業の設定よりアクターの設定が優先されます。
※ ランダムネームの取得に失敗した場合は、元の名前に戻す処理が行なわれます。

■ 用語設定

VOCAB_FULL_SPACE = "全空"   # 全角スペース
VOCAB_HALF_SPACE = "半空"   # 半角スペース

文字選択ウィンドウで空白文字を判別するために置き換えられる文字です。
スペースを1つしか使わない場合は、空白記号(␣)を使っても良さそう。

■ 使用方法

■ 入力画面の表示

イベントコマンド「名前入力の処理」で起動してください。

■ 顔グラの表示設定

イベントコマンド「スクリプト」で実行してください。

$game_temp.name_mode = 0 .. 何も表示しない
$game_temp.name_mode = 1 .. 顔グラのみ表示する
$game_temp.name_mode = 2 .. 歩行グラのみ表示する
$game_temp.name_mode = 3 .. 顔グラ、歩行グラの両方を表示する

※ この設定は、実行後、自動で初期化されます。
  初期値は、nilで、DEFAULT_MODE の設定が使用されます。
例) $game_temp.name_mode = 2

■ 空文字時の決定処理

イベントコマンド「スクリプト」で実行してください。

$game_temp.name_empty = 0 .. 終了禁止
$game_temp.name_empty = 1 .. 元に戻して終了する (プリセットと同じ処理)
$game_temp.name_empty = 2 .. 空文字のまま終了する

※ この設定は、実行後、自動で初期化されます。
例) $game_temp.name_empty = 2