Menu
CoddyTech
flag Ar iconالعربيةdown icon

باني السلالم

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

challenge icon

التحدي

سهل

يبلغ ارتفاع الكتلة الصفراء 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
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس برمجة ألعاب Roblox

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