وضع السيلفي

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

يستخدم اللاعبون بالفعل لقطات الشاشة لتخليد اللحظات الممتعة في التجارب. تتيح وحدة SelfieMode وحدة المطور للاعبين التقاط ذكرى أنظف لتلك اللحظة بدون نافذة الدردشة أو قائمة اللاعبين، مع دعم تأثيرات الفلتر، وإخفاء الشخصيات الأخرى، والتقاط الصور.

استخدام الوحدة

التثبيت

لاستخدام وحدة SelfieMode في تجربة:

  1. من قائمة Window في الاستوديو أو شريط أدوات التبويب Home، افتح Toolbox واختر تبويب Creator Store.

  2. تأكد من اختيار فرز Models، ثم انقر على زر See All ل Categories.

  3. حدد موقع وانقر على بلاط Packages.

  4. حدد موقع وحدة Selfie Mode وانقر عليها، أو اسحبها وأفلتها في العرض ثلاثي الأبعاد.

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

التكوين

تم إعداد الوحدة مسبقًا لتعمل مع معظم حالات الاستخدام، ولكن يمكنك تخصيصها بسهولة من خلال وظيفة configure.

  1. في StarterPlayerScripts، أنشئ LocalScript جديدًا وأعد تسميته إلى ConfigureSelfieMode.

  2. ألصق الكود التالي في السكربت الجديد.

    LocalScript - ConfigureSelfieMode

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SelfieMode = require(ReplicatedStorage.SelfieMode)
    SelfieMode.configure({
    disableCharacterMovement = true
    })

حركة الشخصية

قد يكون من المفيد منع شخصية اللاعب من الحركة أثناء وضع السيلفي. يمكنك تحقيق ذلك عن طريق ضبط disableCharacterMovement على true في استدعاء configure.

LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})

إجراءات وضع السيلفي

تأتي SelfieMode مع إجراءات التالية، كل منها يمكنك استخدامه مع الوظائف activateAction، deactivateAction، وtoggleAction، أو اكتشافه من خلال الأحداث actionActivated وactionDeactivated.

عمق الميدان

بشكل افتراضي، تعرض SelfieMode تأثير العمق-الميداني العام (تشويش خفيف للخلفية) عندما يقوم اللاعب بالتبديل إلى الإجراء.

لتغيير تأثير العمق-الميداني الافتراضي، قم بضبط depthOfFieldEffect على مثالك الخاص من نوع DepthOfFieldEffect في استدعاء configure.

LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local customDepthOfField = Instance.new("DepthOfFieldEffect")
customDepthOfField.NearIntensity = 0
customDepthOfField.FarIntensity = 1
customDepthOfField.FocusDistance = 5
customDepthOfField.InFocusRadius = 5
SelfieMode.configure({
depthOfFieldEffect = customDepthOfField
})

تثبيت النظرة

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

إخفاء الآخرين

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

فلتر

يتيح إجراء الفلتر للاعب تطبيق فلتر مسبق من الخيارات Pop، Soft، Antique، Cute، Dramatic، وMonochrome.

وضع

يتيح إجراء الوضع للاعب اختيار وضع مسبق من الخيارات Cheer، Clapping، Dolphin، Flossing، Guitar، Jump Wave، Louder، Top Rock، Twirl، وWave.

مرجع API

الأنواع

الإجراء

يمثل كل إجراء قاموسًا مع أزواج المفاتيح والقيم التالية:

المفتاحالنوعالوصف
namestringاسم الإجراء، يظهر أولاً في النصوص التوضيحية.
descriptionstringوصف الإجراء، يظهر بعد name في النصوص التوضيحية.
iconstringID المورد لأيقونة الإجراء.
activeIconstringID المورد لأيقونة الإجراء في حالة "نشطة". يمكن استخدامه فقط على الإجراءات الأصلية، وليس الإجراءات الفرعية.
actionstableقائمة فرعية اختيارية من الإجراءات. يتيح لك ذلك إنشاء قوائم فرعية من إجراءات أخرى مختلفة.
parentActionالأصل الخاص بالإجراء؛ هذا ينطبق فقط على إجراء فرعي ويشير إلى الإجراء الذي يحتوي عليه.
onActivatedfunctionوظيفة استدعاء اختيارية تعمل عندما ينشط اللاعب إجراء أو إجراء فرعي. عادةً، إذا كان الإجراء يحتوي على إجراءات فرعية، فسيتعين على هذه الأخيرة فقط تعريف استدعاء كوسيلة لمعرفة أن اللاعب قد فعل الإجراء الفرعي ولم يقتصر الأمر على "توسيع" الإجراء الأصلي.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)

الأنماط

SelfieMode.Action

تأتي SelfieMode مع عدة إجراءات. يمكنك استخدام هذا النمط مع الوظائف activateAction، deactivateAction، وtoggleAction.

الاسمالملخص
DepthOfFieldمرجع إلى الإجراء Depth‑of‑Field.
LockGazeمرجع إلى الإجراء Lock Gaze.
HideOthersمرجع إلى الإجراء Hide Others.
Filterمرجع إلى الإجراء Filter.
Poseمرجع إلى الإجراء Pose.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- تفعيل إجراء "فلتر"
SelfieMode.activateAction(SelfieMode.Action.Filter)

الوظائف

configure

configure(config: table)

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

المفتاحالوصفالافتراضي
disableCharacterMovementإذا كان true، يمنع الشخصية من الحركة أثناء فتح وضع السيلفي.false
depthOfFieldEffectمثيل اختيارى مخصص من DepthOfFieldEffect يظهر عندما يقوم اللاعب بالتبديل إلى إجراء Depth of Field.
LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})

openSelfieMode

openSelfieMode()

عادةً ما يفتح اللاعب وضع السيلفي من خلال زر "الكاميرا" على الجانب الأيمن من الشاشة، ولكن هذه الوظيفة تتيح لك فتحه من خلال الكود. عند تنفيذ زر مخصص كما هو موضح أدناه، يجب عليك تعطيل الزر الافتراضي من خلال setHudButtonEnabled. لا يمكن استدعاء هذه الوظيفة إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- إزالة الزر الافتراضي
SelfieMode.setHudButtonEnabled(false)
-- توصيل الزر المخصص
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

عادةً ما يغلق اللاعب وضع السيلفي من خلال زر في أسفل الشاشة، ولكن هذه الوظيفة تتيح لك إغلاقه من خلال الكود. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.closeSelfieMode()

isSelfieModeOpen

isSelfieModeOpen(): boolean

يعيد true إذا كان وضع السيلفي مفتوحًا نتيجة لإجراء اللاعب أو من خلال openSelfieMode. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.openSelfieMode()
print(SelfieMode.isSelfieModeOpen())

setHudButtonEnabled

setHudButtonEnabled()

يحدد ما إذا كان الزر الافتراضي للدخول إلى وضع السيلفي ظاهرًا. مفيد عند تنفيذ openSelfieMode من خلال زر واجهة مستخدم مخصص. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- إزالة الزر الافتراضي
SelfieMode.setHudButtonEnabled(false)
-- توصيل الزر المخصص
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Action

يحصل على نوع Action من خلال SelfieMode.Action enum.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)

activateAction

activateAction(action: SelfieMode.Action)

ينشط برمجيًا أحد الإجراءات الافتراضية الأعمال. هذا هو نفس الحالة عندما يقوم اللاعب بتبديل الإجراء من شريط الإجراءات. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- تفعيل إجراء "فلتر"
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

يقوم بإلغاء تنشيط أحد الإجراءات الافتراضية الأعمال برمجيًا. هذا هو نفس الحالة عندما يقوم اللاعب بإيقاف الإجراء من شريط الإجراءات. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- إلغاء تفعيل إجراء "فلتر"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

يقوم بتبديل إجراء على إذا كان مطفأ، أو يقوم بإيقاف تشغيله إذا كان قيد التشغيل. هذا هو نفس الحالة عندما ينقر اللاعب على الإجراء من شريط الإجراءات. يعيد الحالة الجديدة "يتم تبديله على" كقيمة منطقية. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
local isEnabled = SelfieMode.toggleAction(lockGazeAction)
if isEnabled then
print("تم التنشيط", lockGazeAction.name)
else
print("تم إلغاء التنشيط", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

يقوم بتكوين موضوع وضع السيلفي، بما في ذلك حجم النص، الخط، ألوان الزر/النص التوضيحي، والمزيد. لا يمكن استدعاؤها إلا من LocalScript.

المفتاحالوصفالافتراضي
textSizeحجم جميع النصوص.16
fontالخط المستخدم عبر جميع واجهة المستخدم (Enum.Font).GothamMedium
paddingالحشوة الأساسية المستخدمة لترتيب عناصر واجهة المستخدم (UDim).(0, 12)
paddingSmallحشوة أصغر تستخدم لتطبيق هوامش خفيفة بين العناصر (UDim).(0, 6)
paddingScreenالحشوة المستخدمة حول حواف الشاشة لمنح وضع السيلفي بعض مساحة التنفس (UDim).(0, 24)
backgroundColorلون الخلفية المستخدم للشريط الذي يعرض الإجراءات (Color3).[0, 0, 0]
scrollBarColorلون شريط التمرير المستخدم في عناصر ScrollingFrame الخاصة بالوحدة (Color3).[255, 255, 255]
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.setTheme({
textSize = 20,
font = Enum.Font.Michroma,
backgroundColor = Color3.fromRGB(0, 40, 75),
})

setEnabled

setEnabled(isEnabled: boolean)

يحدد ما إذا كان وضع السيلفي مفعلًا أم لا. عند التعطيل، تتم إزالة جميع واجهات المستخدم للوحدة ويتم فصل جميع الأحداث. لا يمكن استدعاؤها إلا من LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.setEnabled(false)

الأحداث

selfieModeOpened

يتم إطلاقه عندما يفتح اللاعب وضع السيلفي أو عندما يتم استدعاء openSelfieMode. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("وضع السيلفي مفتوح")
end)

selfieModeClosed

يتم إطلاقه عندما يغلق اللاعب وضع السيلفي أو عندما يتم استدعاء closeSelfieMode. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("وضع السيلفي مغلق")
end)

actionActivated

المعلمات
action: SelfieMode.Actionالإجراء الذي تم تفعيله Action.

يتم إطلاقه عندما يتم تفعيل إجراء؛ قد يكون هذا أحد الإجراءات الرئيسية مثل Depth of Field، Lock Gaze، أو Hide Others؛ بدلاً من ذلك، قد يكون إجراء فرعي مثل فلتر أو وضع. تتلقى الوظيفة المتصلة الإجراء المActivated Action. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "تم تفعيله")
end)

actionDeactivated

المعلمات
action: SelfieMode.Actionالإجراء الذي تم إلغاء تفعيله Action.

يتم إطلاقه عندما يتم إلغاء تنشيط إجراء رئيسي أو فرعي. تتلقى الوظيفة المتصلة الإجراء المActivated Action. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "تم إلغاء تفعيله")
end)

filterChanged

المعلمات
newFilter: stringالفلتر الجديد.
oldFilter: stringالفلتر السابق.

يتم إطلاقه عندما يتم تطبيق فلتر أو إزالته. تتلقى الوظيفة المتصلة اسم الفلتر الجديد واسم الفلتر القديم. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("تم تغيير الفلتر من", oldFilter, "إلى", newFilter)
end)

poseChanged

المعلمات
newPose: stringالوضع الجديد.
oldPose: stringالوضع السابق.

يتم إطلاقه عندما يتم تطبيق وضع أو إزالته. تتلقى الوظيفة المتصلة اسم الوضع الجديد واسم الوضع القديم. لا يمكن توصيل هذا الحدث إلا في LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("تم تغيير الوضع من", oldPose, "إلى", newPose)
end)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.