باني السلالم
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 6 من 24.
في الدرس السابق، حرّك i كل عمود في اتجاه واحد. يحتاج الدرج إلى أن ترتفع كل درجة وتتقدم إلى الأمام في الوقت نفسه، لذا تدخل i في اثنين من الأرقام الثلاثة.
لنفترض أن سُمك كل درجة هو 1 stud. لكي يكون أعلى الدرجة i عند الارتفاع i، يجب أن يكون مركزها أخفض بنصف stud: i - 0.5. لتحريك كل درجة بمقدار 2 studs أقرب إلى الهدف على امتداد Z، اطرح i * 2 من نقطة البداية:
for i = 1, 3 do
print(i - 0.5, 10 - i * 2)
endيطبع هذا 0.5 8 و1.5 6 و2.5 4: إحداثيا Y وZ لثلاث درجات تصعد باتجاه Z 0. تفصل print بين عدة قيم بمسافة.
في هذه اللعبة، يستطيع اللاعب صعود درجة ارتفاعها نحو 1 stud؛ أما أي درجة أطول فتتطلب قفزة.
التحدي
سهليبلغ ارتفاع الكتلة الصفراء 10 وحدات studs: ارتفاع أكبر من أن تقفز إليه. ابنِ درجًا للصعود إليها.
تنشئ الحلقة بالفعل 10 درجات ثابتة باسم Step، لكنها كلها في الموضع نفسه. غيّر Position الخاص بها بحيث تكون الدرجة i:
- سطحها العلوي عند الارتفاع
i(سُمك الدرجة 1، لذا يكون مركزها على المحور Y عندi - 0.5) - عند Z
10 - i * 2، بحيث تقترب كل درجة بمقدار 2 وحدتين studs من الكتلة
اضغط Play واصعد، ثم اضغط Check.
جرّب بنفسك
for i = 1, 10 do
local step = Instance.new("Part")
step.Name = "Step"
step.Size = Vector3.new(6, 1, 2)
step.Anchored = true
-- كل درجة أعلى بمقدار 1 stud وأقرب بمقدار 2 studs إلى الكتلة الصفراء
step.Position = Vector3.new(0, 0.5, 10)
step.Parent = workspace
end
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
تدرّب بنفسك: مترجم Lua عبر الإنترنت