アバターコンテキストメニュー

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

アバターコンテキストメニュー ACM (ACM) は、ユーザーが互いに交流するのを簡単にしますACM がエクスペリエンスで有効になっていると、ユーザーは他のユーザーのキャラクターまで歩いて行き、クリックして小さなメニューを開き、複数のデフォルトオプションを開くことができます。プレイヤーは友達リクエストを送信し、プライベートチャットを開始し、ユーザーのプロフィールを表示するか、ウェーブを送信することができます。

エクスペリエンスで ACM を有効にした後、次の方法で ACM をカスタマイズできます:

アバターコンテキストメニューを有効にする

アバターコンテキストメニューは、StarterGui:SetCore() オプション「AvatarContextMenuEnabled」を使用して、LocalScript で有効にする必要があります。ACM は、他のユーザーをクリックするための事前定義された動作がないエクスペリエンスで最もよく使用されます。

次のコードサンプルを使用して、LocalScript に ACM を有効にします:


-- ローカルスクリプトで実行、理想的には「StarterPlayerScripts」内
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

ACM が有効になっているかどうかを検出する必要がある場合は、次のコードを使用して ACM の現在の状態について boolean を返すことができます:


--ACM が現在有効になっているかどうかを示すブールを返します。
StarterGui:GetCore(AvatarContextMenuEnabled)

ACM を開いて閉じる

有効になったら、StarterGui でプログラマティックに ACM プログラムを開いて閉じることができます。

ACM をプログラムで開くには、次のコードを使用してください:


-- スターターGUIを使用:ターゲットプレイヤーが有効なプレイヤーオブジェクトである場合、SetCore を使用
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

ACM をプログラムで閉じるには、次のコードを使用してください:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

メニューオプション

スクリプトで 追加削除 アクションをスクリプト作成うことができます。デフォルトでは、メニューに次のオプションがあります:

メニューオプション説明
友達選択したユーザーに友達リクエストを送信します。
チャチャット経験中のチャットで選択したユーザーとプライベートな会話を開きます。
表示選択したユーザーの外外見を調べるウィンドウを開きます。
ワンド選択したユーザーに波のアニメーションを開始します。

ACM が開いたら、ユーザーはキャラクター選択カルーセルで他のユーザーをスクロールして選択できます。キャラクターは、選択したキャラクターへの距離に基づいて並べ替えられます。メニューは開いたときにのみ更新され、利用可能なユーザーのリストはスクロールすると繰り返されます。

メニューオプションを追加

有効になったら、経験に特有のアクションを ACM に追加できます。たとえば、エクスペリエンスは、取引リクエスト、パーティーへの追加オプション、または他の特別な相互作用を許可する可能性があります。

次の例では、アバターコンテキストメニューにカスタムアクションを追加する方法を示します:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- 機能を "BindableEvent" に接続する
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- この時点で、リモート関数に InvokeServer() を呼び出して、サーバーに選択を通知することができます
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- SetCore() を使用して「AddAvatarContextMenuOption」で ACM オプションを追加
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

メニューオプションを削除

アクション名またはデフォルトの Enum.AvatarContextMenuOption 枚数を参照して、カスタムとデフォルトの友達追加、チャット、表示、およびウェーブオプションを ACM から削除できます。

次のコードを使用して、デフォルトとカスタムメニューオプションを削除します:


-- 「カスタム ACM アクション」オプションを削除
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- AvatarContextMenuOption.Friend Enum を参照してデフォルトの「友達」オプションを削除する
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

メニューの外外見をカスタマイズ

アバターコンテキストメニューの外観を変更するには、StarterGui:SetCore() オプション「AvatarContextMenuTheme」を呼び出し、メニューの外外見を調整するパラメータと値のテーブルを提供します。

ACM ユーザーインターフェイスには次のセクションが含まれています:

A. 名前タグ: 対話するキャラクターのユーザー名。

B. ボタンフレーム: ACMボタンのすべてを含む。

C. ボタン: デフォルトまたはカスタム ACM アクションの個々のボタン。

外観パラメータ

これらは ACM とのカスタマイズパラメータです:

バックグランド

背景色ACM の全体の背景用の Color3 (背景画像を使用していないときに最も役立つ).
背景透明ACM の全体の背景の透明度 (0–1) (背景画像を使用していないときに最も役立つ)。
背景画像ACM バックグラウンドの画像の有効なアセット ID。
背景画像の透明性背景画像の透明度 (0–1)。
背景画像スケールタイプ背景画像スケーリング用の Enum.ScaleType 枚列挙げ。
背景画像スライスセンター背景画像スケールタイプが Rect に設定されていると、9スライス画像の中心を指定する A Enum.ScaleType.Slice

名前タグ

名前タグカラーバーに表示されているプレイヤーと対話しているプレイヤーを示す Color3
名前の下線色名前タグとアクションボタンの間の薄い線のための Color3

ボタンフレーム

ボタンフレームカラーアクションボタンを含むセクション (フレーム) の A Color3
ボタンフレームの透明性ボタンフレームセクションの透明度値 (0–1)。

ボタン

ボタンの色ButtonColorACM アクションボタンの背景用の Color3
ボタンの透明性アクションボタンの背景色の透明度値 (0–1)。
ボタンホバーカラーアクションボタンの「ホバリング」状態用の Color3
ボタンホバー透明度アクションボタンの「ホバリング」色の透明度値 (0–1)。
ボタンの下線色 ButtonUnderlineColorそれぞれのアクションボタンを分離する薄い線のための Color3
ボタン画像ボタンの背景の画像の有効なアセットID。
ボタン画像スケールタイプボタン画像スケーリング用の Enum.ScaleType 枚列挙げ。
ボタン画像スライスセンターボタン画像スケールタイプが Rect に設定されていると、9スライス画像の中心を指定する A Enum.ScaleType.Slice

テキスト

フォント名前タグとボタンテキストの Enum.Font 枚列値。
テキストカラーACM 内のすべてのテキストに対する Color3
テキストスケール各要素のデフォルトのテキストサイズをスケールする浮動値。

様々な画像

メニュー画像を退出するACM 閉じるボタンの画像のアセットID。
スクロールLeftImageカルーセル「スクロール左」ボタンの画像のアセットID。
スクロールRightImageカルーセル「右スクロール」ボタンの有効なアセットIDの画像。

選択されたキャラクタ

選択されたキャラクターインジケーターキャラクターの頭の上に浮かんで、選択されていることを示す MeshPart

サイズと位置

サイズACM の全体サイズ用の UDim2
ミニサイズA Vector2 ACMの最小サイズを指定する。
最大サイズA Vector2 ACM の最大サイズを指定する。
アスペクト比率ACMの相対的な幅と高さを指定する浮動値。
アンカーポイントACM の AnchorPoint
画面位置 OnScreenPositionA UDim2 ACM の画面上の位置を指定する (開いたときにティーンになる位置)
オフスクリーン位置A UDim2 ACMのオフスクリーン位置を指定する(開いた/閉じたときにティーンから/へ移動する位置)

カスタマイズの例

次のコードサンプルは、いくつかの基本パラメータを使用して ACM テーマをカスタマイズします:


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuTheme", {
BackgroundImage = "",
BackgroundTransparency = 0.5,
BackgroundColor = Color3.fromRGB(111, 145, 242),
NameTagColor = Color3.fromRGB(0, 0, 200),
NameUnderlineColor = Color3.fromRGB(213, 233, 255),
ButtonFrameColor = Color3.fromRGB(15, 24, 65),
ButtonFrameTransparency = 0.2,
ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),
Font = Enum.Font.SciFi
})