أول لعبة Obby لك
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 24 من 24.
obby (مسار عقبات) هو لعبة Roblox الكلاسيكية الأولى: انتقل من البداية إلى النهاية دون لمس أي شيء قاتل. هذه اللعبة تطفو في السماء:
Start: نقطة الظهورLavaFloor: منصة رمادية عريضة. شريطا الحمم البركانية عليها موجودان في مجلدLavaداخل مساحة العمل.Checkpoint: موقع SpawnLocation في منتصف الطريقPath: ممر ضيقFinish: المنصة الذهبية
يشغّل سكربت واحد في ServerScriptService اللعبة بأكملها، مستخدمًا كل ما تعلمته في هذه الدورة. هناك تفصيل واحد جديد:
عند وجود اثنين من SpawnLocations (البداية ونقطة التفتيش)، تعيد LoadCharacterAsync إحياء الفائز في RespawnLocation الخاص به، لذا وجّهه مجددًا إلى البداية قبل إرساله إليها.
التحدي
صعباجعل لعبة العوائق بأكملها تعمل باستخدام نص برمجي واحد:
- يحصل كل لاعب على
leaderstatsمع IntValue باسمWinsبقيمة0، ويكونRespawnLocationالخاص به هوworkspace.Start. - كل جزء في
workspace.Lavaيقضي على من يلمسه. - يؤدي لمس
workspace.Checkpointإلى جعله نقطة إعادة ظهور اللاعب. - يضيف لمس
workspace.Finishمقدار 1 بالضبط إلى Wins، ويضبط RespawnLocation الخاص باللاعب علىworkspace.Startويرسله إلى هناك باستخدامLoadCharacterAsync(). وعند إنهاء اللعبة مرة أخرى لاحقًا، تُضاف مرة فوز أخرى.
اضغط على تشغيل واجتز لعبة العوائق، ثم اضغط على تحقّق. يجتازها لاعب الاختبار مرتين.
جرّب بنفسك
local Players = game:GetService("Players")
-- 1. يحصل كل لاعب على leaderstats بقيمة Wins = 0، ويبدأ من نقطة البداية
Players.PlayerAdded:Connect(function(player)
end)
-- 2. كل جزء في workspace.Lava يقتل اللاعب
-- 3. تصبح نقطة الحفظ نقطة إعادة ظهور اللاعب
-- 4. خط النهاية: +1 فوز، ثم العودة إلى نقطة البداية
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
5لعبتك الأولى
أول لعبة Obby لكتدرّب بنفسك: مترجم Lua عبر الإنترنت