Menu
CoddyTech

باني السلالم

جزء من قسم برمجة ألعاب 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؛ أما أي درجة أعلى فتحتاج إلى قفزة.

challenge icon

التحدي

سهل

ابنِ درجًا يصعد إلى الكتلة الصفراء، فهي مرتفعة جدًا بحيث لا يمكنك القفز إليها.

  1. تنشئ الحلقة بالفعل 10 درجات، كلها في المكان نفسه. اعثر على السطر step.Position.
  2. غيّره إلى 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

تدرّب بنفسك: مترجم Lua عبر الإنترنت