باني السلالم
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 6 من 25.
في الدرس السابق، حرّك 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 درجات، كلها في المكان نفسه. اعثر على السطر
step.Position. - غيّره إلى
Vector3.new(0, i - 0.5, 10 - i * 2): يكون أعلى الدرجةiعلى ارتفاعi، وتكون أقرب بمقدار وحدتين من وحدات studs من الدرجة السابقة.
اضغط على «العب»: تصعد عشر درجات إلى الكتلة، ويمكنك المشي إلى أعلاها. ثم اضغط على «تحقق».
جرّب بنفسك
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
5لعبتك الأولى
أول لعبة Obby لكتدرّب بنفسك: مترجم Lua عبر الإنترنت