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

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

アバターコンテキストメニュー(ACM)は、ユーザー同士のインタラクションを容易にします。ACMがゲームで有効になっている場合、ユーザーは別のユーザーのキャラクターに近づいてクリックすると、小さなメニューが表示され、いくつかのデフォルトオプションが表示されます。プレイヤーは友達リクエストを送ったり、プライベートチャットを開始したり、ユーザープロファイルを表示したり、手を振ったりすることができます。

ゲームでACMを有効にした後、以下の方法でACMをカスタマイズできます。

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

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

以下のコードサンプルを使用して、LocalScript内でACMを有効にします。


-- "StarterPlayerScripts"内のLocalScriptで実行する
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

ACMが有効になっているかどうかを検出する必要がある場合、次のコードを使用してACMの現在の状態を示すブール値を取得できます。


---ACMが現在有効かどうかを示すブール値を返します。
StarterGui:GetCore(AvatarContextMenuEnabled)

ACMの開閉

有効にしたら、StarterGuiを使用してACMをプログラムで開閉できます。

ACMをプログラムで開くには、次のコードを使用します。


-- targetPlayerが有効なPlayerオブジェクトの場合はStarterGui:SetCoreを使用します
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

ACMをプログラムで閉じるには、次のコードを使用します。


StarterGui:SetCore("AvatarContextMenuTarget", nil)

メニューオプション

スクリプトを通じて、アクションを追加および削除することができます。デフォルトでは、メニューに以下のオプションがあります。

メニューオプション説明
フレンド選択したユーザーに友達リクエストを送信します。
チャット選択したユーザーとのプライベート会話をゲーム内チャットで開きます。
表示選択したユーザーの外観を確認するためのウィンドウを開きます。
手を振る選択したユーザーに手を振るアニメーションを開始します。

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

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

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)
-- この時点で、選択のサーバーへの通知用にRemoteFunctionでInvokeServer()を呼び出すことができる
print("ACMイベントが " .. player.Name .. " によって " .. targetPlayer.Name .. " で選択されました")
end
bindableEvent.Event:Connect(onCustomACMAction)
-- "AddAvatarContextMenuOption"を使ってSetCore()でACMオプションを追加する
local options = {"カスタムACMアクション", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

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

カスタムおよびデフォルトの「友達」、「チャット」、「表示」、「手を振る」オプションを、カスタムアクション名またはデフォルトのEnum.AvatarContextMenuOption列挙体を参照して削除できます。

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


-- "カスタムACMアクション"オプションを削除します
StarterGui:SetCore("RemoveAvatarContextMenuOption", "カスタムACMアクション")
-- AvatarContextMenuOption.Friend Enumを参照してデフォルトの"フレンド"オプションを削除します
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

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

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

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

A. 名前タグ:インタラクションしているキャラクターのユーザー名。

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

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

外観パラメータ

ACMのカスタマイズパラメータは以下の通りです。

背景

BackgroundColorACMの全体的な背景用のColor3(背景画像を使用しない場合に最も有用)。
BackgroundTransparencyACMの全体的な背景用の透明度値(0–1)(背景画像を使用しない場合に最も有用)。
BackgroundImageACM背景用の画像の有効なアセットID。
BackgroundImageTransparency背景画像の透明度値(0–1)。
BackgroundImageScaleType背景画像スケーリング用のEnum.ScaleType列挙体。
BackgroundImageSliceCenterEnum.ScaleType.Sliceに設定した場合の9スライス画像の中心を指定するRect

名前タグ

NameTagColorインタラクションしているプレイヤーを示すバー用のColor3
NameUnderlineColor名前タグとアクションボタンの間にある細い線用のColor3

ボタフレーム

ButtonFrameColorアクションボタンを含むセクション(フレーム)用のColor3
ButtonFrameTransparency ボタンフレームセクションの透明度値(0–1)。

ボタン

ButtonColorACMアクションボタンの背景用のColor3
ButtonTransparencyアクションボタンの背景色の透明度値(0–1)。
ButtonHoverColorアクションボタンの「ホバー」状態用のColor3
ButtonHoverTransparencyアクションボタンの「ホバー」色の透明度値(0–1)。
ButtonUnderlineColor各アクションボタンを区別するための細い線用のColor3
ButtonImageボタンの背景用の画像の有効なアセットID。
ButtonImageScaleTypeボタン画像スケーリング用のEnum.ScaleType列挙体。
ButtonImageSliceCenterEnum.ScaleType.Sliceに設定した場合の9スライス画像の中心を指定するRect

テキスト

Font名前タグとボタンテキスト用のEnum.Font列挙体値。
TextColorACM内のすべてのテキスト用のColor3
TextScale各要素のデフォルトテキストサイズをスケーリングするための浮動小数点値。

様々な画像

LeaveMenuImageACMクローズボタン用の画像のアセットID。
ScrollLeftImageキャロセルの「左にスクロール」ボタン用の画像のアセットID。
ScrollRightImageキャロセルの「右にスクロール」ボタン用の画像の有効なアセットID。

選択キャラクター

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

サイズと位置

SizeACMの全体的なサイズのためのUDim2
MinSizeACMの最小サイズを指定するVector2
MaxSizeACMの最大サイズを指定するVector2
AspectRatioACMの相対的な幅と高さを指定する浮動小数点値。
AnchorPointACMのAnchorPoint
OnScreenPositionACMの画面上の位置を指定するUDim2(開かれたときにTweenされる位置)。
OffScreenPositionACMの画面外の位置を指定するUDim2(開閉時にTweenされる位置)。

カスタマイズの例

以下のコードサンプルは、基本的なパラメータを使用して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
})
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。