شريط المشاعر

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

تُعتبر المشاعر عنصرًا أساسيًا في أي تجربة اجتماعية. يهدف EmoteBar نموذج المطور إلى توفير وسيلة متاحة وقابلة للتخصيص للاعبين لتسهيل التفاعل الاجتماعي المعني.

استخدام النموذج

التثبيت

لاستخدام نموذج EmoteBar في تجربة:

  1. من قائمة نافذة في الاستوديو أو شريط أدوات علامة الصفحة الرئيسية، افتح صندوق الأدوات واختر علامة متجر المنشئين.

  2. تأكد من تحديد فرز النماذج، ثم انقر على زر عرض الجميع لفئات الفئات.

  3. ابحث وانقر على بلاطة الحزم.

  4. ابحث عن نموذج شريط المشاعر وانقر عليه، أو اسحبه وأفلته في العرض ثلاثي الأبعاد.

  5. في نافذة المستكشف، انقل النموذج الكامل EmoteBar إلى ReplicatedStorage. عند تشغيل التجربة، سيبدأ النموذج في العمل.

التهيئة

يتم تكوين النموذج مسبقًا مع 7 مشاعر ويمكن تخصيصه بسهولة باستخدام مشاعرك وخيارات العرض الخاصة بك. بالإضافة إلى ذلك، إذا كان لدى اللاعب أي مشاعر من أحداث Roblox السابقة مثل Lil Nas X أو Royal Blood أو Twenty One Pilots، فسيتم إضافة تلك المشاعر تلقائيًا إلى قائمة المشاعر المتاحة.

  1. في ServerScriptService، أنشئ Script جديدًا وأعد تسميته إلى ConfigureEmotes.

  2. الصق الكود التالي في نص ConfigureEmotes الجديد. تعيين useDefaultEmotes لـ false يتجاوز المشاعر الافتراضية ويسمح لك بتعريف مشاعر مخصصة من خلال وظيفة setEmotes.

    Script - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Hello",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Applaud",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

مشاعر مميزة

تتشكل شعور مميز عندما يؤدي عدة لاعبين في نفس المنطقة نفس الشعور في نفس الوقت. مع انضمام المزيد من اللاعبين، يصبح الشعور المميز أكبر. عندما يتوقف اللاعبون عن أداء الشعور، يصبح الشعور المميز أصغر حتى يختفي في النهاية.

السرعة

سرعة الشعور هي السرعة التي يتم تشغيله بها عندما يتم الضغط على زره مرة واحدة. يتم تحديد السرعة الافتراضية للشعور بواسطة defaultTempo الخاص به. يمكن زيادة أو تقليل سرعة الشعور من خلال الضغط على زره أسرع أو أبطأ.

مرجع API

الأنواع

شعور

تمثل كل شعور بواسطة قاموس يحتوي على أزواج المفتاح-القيمة التالية:

المفتاحالنوعالوصف
namestringاسم الشعور، على سبيل المثال "Shrug".
animationstringمعرّف الأصل لتحريك الشعور.
imagestringمعرّف الأصل لصورة الشعور في واجهة المستخدم الرسومية.
defaultTemponumberعامل السرعة الافتراضي لتشغيل الرسوم المتحركة للشعور. على سبيل المثال، ستلعب سرعة 2 الرسوم المتحركة بمعدل ضعف سرعتها الطبيعية. يجب أن تكون أكبر من 0.
isLockedboolما إذا كان الشعور "مقفلًا" عن التنشيط.

التعدادات

EmoteBar.GuiType

الاسمالملخص
EmoteBarالشكل الافتراضي حيث يتم عرض المشاعر في شريط على طول أسفل الشاشة، مفصولة إلى "صفحات" فردية.
EmoteWheelنسخة حيث يتم عرض المشاعر في حلقة عندما ينقر اللاعب أو يضغط على شخصية اللاعب.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

الوظائف

configureServer

configureServer(config: table)

يتجاوز إعدادات التكوين الافتراضية على جانب الخادم من خلال المفاتيح / القيم التالية في جدول config. لا يمكن استدعاء هذه الوظيفة إلا من Script وستتكرر التغييرات تلقائيًا إلى جميع العملاء.

المفتاحالوصفالافتراضي
useDefaultEmotesما إذا كانت المشاعر الافتراضية المقدمة مدرجة أم لا.true
useMegaEmotesيمكن أو تمنع ميزة المشاعر المميزة.true
emoteMinPlayersأقل عدد من اللاعبين الذين يؤدون نفس الشعور للمساهمة في شعور مميز.3
emoteMaxPlayersأعلى عدد من اللاعبين الذين يؤدون نفس الشعور للمساهمة في شعور مميز.50
playParticlesيمكن أو تمنع عرض المشاعر التي يؤديها اللاعبون كجزيئات عائمة فوق رؤوسهم.true
sendContributingEmotesيمكن أو تمنع إرسال أيقونة صغيرة للشعور للمساهمة في الشعور المميز.true
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

يتجاوز إعدادات التكوين الافتراضية على جانب العميل من خلال المفاتيح / القيم التالية في جدول config. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript. اعتمادًا على قيمة guiType، تنطبق الخيارات في علامات التبويب المذكورة.

المفتاحالوصفالافتراضي
guiTypeيحدد الشكل الذي ستأخذه واجهة المستخدم لعرض المشاعر (EmoteBar.GuiType).EmoteBar
useTempoيمكن أو تمنع ميزة السرعة حيث يمكن للمستخدمين التحكم في مدى سرعة أو بطء تشغيل مشاعرهم عن طريق تفعيل نفس الشعور بشكل متكرر.true
tempoActivationWindowالمدة الزمنية، بالثواني، التي يمتلكها المستخدم بين تفعيل المشاعر المتتالية حتى يُحسب ذلك كجزء من السرعة.3
lockedImageصورة لعرضها فوق المشاعر المقفلة."rbxassetid://6905802778"
LocalScript - Emote Bar

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Emote Wheel

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

يحدد المشاعر المخصصة للاستخدام. سيتم إضافة هذه إلى الافتراضية إذا كانت useDefaultEmotes هي true، أو ستحل محل الافتراضية إذا كانت useDefaultEmotes هي false. لا يمكن استدعاء هذه الوظيفة إلا من Script وستتكرر التغييرات تلقائيًا إلى جميع العملاء.

انظر شعور لهيكل كل شعور يتم تمريره إلى هذه الوظيفة.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Hello",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Applaud",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

يظهر أو يخفي واجهة مستخدم المشاعر. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript على عميل معين.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

يحصل على شعور بالاسم. يعيد nil إذا لم يتم العثور على الشعور. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript على عميل معين.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: شعور)

تشغل الشعور المعطاة وتطلق حدث emotePlayed على الخادم إذا كان متصلاً. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript على عميل معين.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

يقفل الشعور بالاسم المعطى. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript على العميل.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Applaud")

unlockEmote

unlockEmote(emoteName: string)

يفتح الشعور بالاسم المعطى. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript على العميل.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Applaud")

الأحداث

emotePlayed

يتم تشغيله عندما يقوم أي عميل بتشغيل شعور. يمكن فقط الاتصال بهذا الحدث في LocalScript.

المعلمات
player: Playerاللاعب الذي أدّى الشعور.
emote: شعورالشعور الذي تم تشغيله.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)

lockedEmoteActivated

يتم تشغيله عندما ينقر عميل على شعور مقفلة. يمكن فقط الاتصال بهذا الحدث في LocalScript.

المعلمات
emote: شعورالشعور المقفلة التي تم تفعيلها.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.