الباب ذو الزر
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 20 من 24.
يحتوي الزر الأحمر على ClickDetector مثل المصباح. يؤدي تعيين Position إلى تحريك جزء فورًا. لجعله ينزلق، استخدم TweenService: تصف المكان الذي ينبغي أن ينتهي فيه الجزء والمدة التي تستغرقها الحركة، ويتولى Roblox تحريكه بسلاسة.
local TweenService = game:GetService("TweenService")
local info = TweenInfo.new(2)
local goal = { Transparency = 1 }
local fade = TweenService:Create(workspace.Ghost, info, goal)
fade:Play()تعني TweenInfo.new(2) ثانيتين. الهدف هو جدول بأسماء الخصائص والقيم التي ستنتهي عندها. تنشئ Create الحركة، ولا يتحرك أي شيء حتى تستدعي Play. يمكن للحركة تغيير الأرقام وقيم Vector3 مثل Position وSize، وألوان Color3.
التحدي
متوسطيسدّ باب خشبي الفجوة في الجدار، والكتلة الحمراء زرّ مزوّد بـ ClickDetector. هذا البرنامج النصي موجود داخل الباب.
عند النقر على الزر، حرّك الباب إلى أعلى بمقدار 10 وحدات لمدة ثانية واحدة. info وgoal جاهزان: أنشئ الحركة وشغّلها عند وقوع MouseClick. يجب ألا يتحرك الباب قبل النقر.
اضغط على Play، وامشِ نحو الزر، وانقر عليه ثم اعبر. بعد ذلك اضغط على Check.
جرّب بنفسك
local TweenService = game:GetService("TweenService")
local door = script.Parent
local button = workspace.Button
local info = TweenInfo.new(1)
local goal = { Position = door.Position + Vector3.new(0, 10, 0) }
-- أنشئ حركة انتقالية للباب باستخدام info وgoal
-- شغّلها عند النقر على ClickDetector الخاص بالزر
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
تدرّب بنفسك: مترجم Lua عبر الإنترنت