今回はタブレットのタッチボタンをつくる方法について解説します。
ロブロックスユーザーの約7割はモバイル機器からアクセスしているため、
タブレットフレンドリーなエクスペリエンスを開発することは必須といえます。
タブレット用タッチボタンをつくるにはコンテキストアクションサービスを使います。
さて、コンテキストアクションサービスとは何でしょうか?
具体例を考えると分かりやすいです。
通常マップ上でプレーヤーを動かすには、
キーボードの場合はWSADキーで前後左右に動かすと思います。
しかし例えば車や飛行機に乗った時に操縦する場合、
同じキーを使って車や飛行機を動かしたいですね。
こういう場合にプレーヤーに動かれると困ります。
このように、特定の状況(コンテキスト)下でプレーヤーに特定の行動(アクション)
をさせたい場合に、コンテキストアクションサービスを使います。
コンテクストアクションサービスはユーザーの入力を処理するので、
ユーザーインプットサービスと同様にローカルスクリプトに記述します。
<コード記述例>

:BindAction(アクション名, 処理関数, タッチボタン表示するか否か, キーボードのキー)
:SetTitle(アクション名, 表示名)
:SetPosition(アクション名, ボタンの場所)
をコンテキストアクションサービスのオブジェクトCASに対して使っています。
スクリーン画面はiPhoneXのエミュレータ画面です。
(エミュレータ画面はファイルメニューから、[Test] -> [Device]の順にクリックして開けます。)

右側に前後左右に船を動かすためのタッチボタンができているのが分かります。
こちらのエクスペリエンスは公開してありますので、
実際にスマホやタブレットで開いて遊んでみてください↓
https://www.roblox.com/games/11528579845/Ship-Simulator
いかがでしょうか?
コンテキストサービス以外にユーザーインプットサービスやリモートイベント等も
使われているのでコードが難しく感じた人もいるかもしれません。
こうした機能についてもおいおい説明していく予定ですので、
ひとまずこういう機能があるのだということは覚えておきましょう。