مصنع العملات
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 8 من 25.
يحتوي الجدول على قائمة من القيم داخل أقواس معقوفة، ويمكن لحلقة for المرور على كل قيمة منها:
local heights = { 4, 8, 12 }
for _, h in heights do
print(h)
endيطبع هذا 4 و8 و12. في كل دورة، تحتوي h على القيمة التالية. أما _ فهو موضع القيمة في القائمة، ولا تحتاج هذه الحلقة إليه.
اجمع بين جدول ودالة لتحصل على مُنشئ: استدعاء واحد لكل قيمة.
local function makeTree(x)
-- أنشئ شجرة عند x
end
for _, x in { -10, 0, 10 } do
makeTree(x)
endتتيح CanCollide = false للاعبين المرور عبر الجزء؛ فهو يظل موجودًا ومرئيًا.
تجمع Folder الأجزاء، مثل workspace.Coins. يؤدي تعيين Parent للجزء إلى مجلد إلى وضعه في العالم داخل ذلك المجلد.
التحدي
سهلأكمل مصنع العملات: تبني makeCoin(z) عملة ذهبية واحدة، وتستدعيها حلقة لكل رقم في spots.
- في
makeCoin، أضفcoin.CanCollide = falseوcoin.Anchored = true. - أضف
coin.Position = Vector3.new(0, 3, z)، ثمcoin.Parent = workspace.Coins. - أسفل الدالة:
for _, z in spots do makeCoin(z) end.
اضغط «العب»: ستطفو خمس عملات ذهبية في صف. ثم اضغط «تحقق».
جرّب بنفسك
local spots = { 12, 6, 0, -6, -12 }
local function makeCoin(z)
local coin = Instance.new("Part")
coin.Name = "Coin"
coin.Shape = Enum.PartType.Ball
coin.Size = Vector3.new(2, 2, 2)
coin.Color = Color3.fromRGB(255, 200, 40)
-- 1. قابل للمرور عبره ومثبّت
-- 2. ضعه عند الموضع (0, 3, z)، ثم أضفه إلى workspace.Coins
end
-- 3. استدعِ makeCoin لكل موضع
جميع دروس برمجة ألعاب Roblox
5لعبتك الأولى
أول لعبة Obby لكتدرّب بنفسك: مترجم Lua عبر الإنترنت