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

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

アバターコンテキストメニュー (ACM) は、ユーザーが互いに対話するのをより簡単にする。ACM がエクスペリエンスで有効になっていると、ユーザーは他のユーザーのキャラクターに歩いて行き、クリックして小さなメニューを開くことができます。プレイヤーは友達リクエストを送信、

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

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

アバターコンテキストメニューは、StarterGui:SetCore() オプション "AvatarContextMenuEnabled" を使用して有効にする必要があります。ACM は、LocalScript で使用することが最善です。

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


-- ローカルスクリプトで実行することを想定しています "StarterPlayerScripts" 内
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

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


--ACM が現在有効であるかを示すブーレンを返します。
StarterGui:GetCore(AvatarContextMenuEnabled)

ACM の開閉

有効にすると、StarterGui で ACM プログラムをプログラマチックに開くと閉じることができます。

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


-- StarterGui: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)
-- 「AddAvatarContextMenuOption」を使用して、「SetCore」でオプションを追加する
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

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

カスタムアクション名を参照するか、デフォルトの [Add Fチャットiend] 、[Chat] 、[View] 、[Wave] オプションを参照して、ACM からカスタムオプションを削除できます。

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


-- 「カスタム ACM アクション」オプションを削除
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- AvatarContextMenuOption.Friend 配列を参照して、デフォルトの「友達」オプションを削除します
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 エンベント。
バックグランド画像スライスセンターA Rect 、BackgroundImageScaleType を Enum.ScaleType.Slice に設定したときに、九分割画像の中央を指定します。

名前タグ

ネームタグカラーバーに表示されているプレイヤーがインタラクトされているのは、Color3 です。
名前の下線色名前タグとアクションボタンの間の薄いライン用の Color3

ボタンフレーム

ボタンフレームの色アクションボタンが含まれるセクション (フレーム) の Color3
ボタンフレームの透明度ボタンフレームセクションの透明値 (0-1)。

ボタン

ボタンの色ACM アクションボタンの背景のための Color3
ボタンの透明度アクションボタンの背景色の透明値 (0-1)。
ボタンのホバーカラーアクションボタンの「ホバー」状態のための Color3
ボタンのホバートランスペアリングアクションボタンの「ホバー」色の透明値 (0-1)。
ボタンのアンダーラインの色各アクションボタンを分離する薄いラインのための Color3
ボタン画像ボタンの背景に使用する画像の有効なアセットID。
ボタン画像スケールタイプボタン画像スケーリングのための Enum.ScaleType 枚。
ボタン画像スライスセンターButtonImageScaleType を Rect に設定したとき、九分割画像の中央を指定する。

テキスト

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

さまざまな画像

メニュー画像を終了ACM のボタンの近くの画像のアセット ID。
スクロール左画像カーネル「スクロール左」ボタンの画像のID。
スクロール右画像カーネル「スクロール右」ボタンの画像の有効なアセットID。

選択したキャラクター

SelectedCharacterIndicatorキャラクターの頭上に浮かぶ MeshPart は、選択されていることを示すために使用されます。

サイズと位置

サイズACM の全体サイズのための UDim2
最小サイズACM の最小サイズを指定する Vector2
最大サイズACM の最大サイズを指定する Vector2
アスペクト比率ACM の相対幅と高さを指定する浮き値。
アンカーポイントACM の AnchorPoint の。
オンスクリーンポジションA 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
})