ネームエントリー
書くネタが無くなって更新頻度もだいぶ減ってしまいましたが、今作っているRPGでネームエントリーの処理を作ってみたので記事にしてみます。 ざっくりどんな流れの処理かは こちら を見てみてください。 やっていることは キャラクターのアクターにオーバーラップしてイベントを開始 ↓ 文字送りをしていき、仕込んでいたスクリプトからネームエントリーを起動 ↓ カーソルを表示し、文字(ネーム)入力 ↓ チェックボックスをクリックするとネームエントリーをフェードアウト ↓ カーソルを消してイベントを続行 とこんな感じで動いています。 まずネームエントリー部分について ネームエントリーはWidgetで作っています。 テキストボックスとチェックボックスを こんな感じに作って、これらの詳細よりOnTextCommittedやOnCheckStateChangedをにビューにしておき テキストボックスの方の詳細/イベントOnTextCommitted Widgetのイベントグラフで出てきた2つのノードに こんな感じに ・テキストボックスの方には入力されたテキストを表示 ・チェックボックスの方にはインスタンスに作っておいたMyNameという変数に入力されたテキストを代入するようにします。(CastInstanceは独自マクロです) で、ネームエントリーが始まったらWidget上でマウスやキーボードが使えるようにするために イベントConstrustノードに マウスカーソル表示 と インプットモードをこのUIのみに絞る ノードを繋げます。 これでWidgetが表示されると同時にマウスカーソルが表示され、文字入力しても裏で動いているゲームが操作できちゃったりしないようにできます。 ネームエントリーが終わってチェックボックスを押されたら上に書いたOnCheckStateChangedのMyNameに代入した後ろに こんな感じで マウスカーソルをオフ にさせて インプットモードをゲームだけにする とカーソルが消えてゲームが再開できるようになります。 これ、ShowMouseCursorのオンオフだけだとオフった時に1クリックしないとゲーム操作に移ら