【キーボード入力から文字列を取得したい】



ウディタではキーボードから直接、文字を入力して文字列を書き換える事ができます。
これを利用して、プレイ中に主人公の名前を変更してみましょう。

【目標】

 1.イベントを作成してキーボード入力から文字列を取得する。

 2.コモンイベントを利用して主人公の名前を変更する。


【手順】

―― 【1】イベント作成 ――

 まずマップ選択で「サンプルマップA」に切り替えてください。
 分かりやすいところにイベントを作成します。
 グラフィックはニワトリにしましょう。
 (参考:【決定キーで起動するイベント】
  


―― 【2】キーボード入力 ―― 

 キーボード入力から文字列を取得します。
 
 イベントウィンドウの右下にある
 「■ コマンド入力ウィンドウ表示 ■」をクリックして
 イベントコマンド入力ウィンドウを開いてください。
 
 左側一覧から「5 文字列操作」を選択します。
 
 左上、文字列の代入先は「S0:[サンプル]一時文字列」のままです。
 真ん中付近にある「キーボード入力」をクリックしてください。
 次に、その右隣にある「文字数(半角)」の入力欄へ「14」と入力しましょう。
 
 これでキーボードから入力した文字列が、
 「S0:[サンプル]一時文字列」に代入されます。
 
 出来ましたらウィンドウ右下にある「入力」をクリックしてください。
 


―― 【3】名前の変更 ―― 

 次にイベントコマンド入力ウィンドウの左側一覧から
 「I コモンイベント」をクリックします。
 
 「イベントの挿入」にチェックが入っているのを確認したら、
 プルダウンから「コモン6:○主人公情報の変更」を選んでください。
 対象主人公を「12:ウルファール」に変更します。
 
 出来ましたら右下の「入力」をクリックしましょう。
 
 (参考:◆キャラクタの名前を変えたい
 


―― 【4】イベント再起動の防止 ―― 

 最後に、このままではキーボード入力でエンターを押した後、
 再度「決定キーで実行」のこのイベントが起動してしまいます。
 それを防止するためにウェイトを追加しましょう。
 (この後に文章の表示などの、
  ウェイトが含まれたコマンドがあれば必要ありません)

 
 イベント入力ウィンドウから「H イベント制御」を選択します。
 ウェイトをクリックしてチェックしてください。
 1フレームで十分です。
 
 右下の「入力」をクリックすれば完成です。
 


 マップをセーブしてテストプレイしてみましょう。
 
 イベントに話しかけてみてください。
 入力欄が出てきたら、好きな名前を入力してエンターを押しましょう。
 
 メニューを開き、ウルファールさんの名前が変わっていれば成功です。
 お疲れ様でした!



【余談】
 
 キーボード入力では数字も入力する事ができます。
 しかし、入力した内容は文字列変数に代入されるので、
 そのままでは数値としての使用ができません。
 
 そこで、変数操作から変数呼び出し値を利用して、次のような式を書いてみましょう。
 
 「このイベント:Self0 = S0:[サンプル]一時文字列 + 0」
 
 右辺に「3000000」を代入する事でこの表示になるはずです。
 この時、文字列変数の内容が半角数字であれば、「Self0」に代入してくれます。
 
 ただし、数字以外の文字列が出てきた地点で読み取りが止まってしまいますので、
 1文字目が数字以外の文字列だった場合、数値が読み取れずに「0」として扱われてしまいます。


 変数呼び出し値について詳しくは、
 【◆エディタの数値欄に、変数を指定したい】をご覧ください。





<執筆者:七海> 


【←にフレームが表示されていない方はここをクリック】