La cinta transportadora
Lección 3 de 22 del curso Juego de Roblox: Tycoon de fábrica de Coddy.
El mineral que se acumula debajo del dispensador no genera ganancias. Tiene que llegar al recolector, y una cinta transportadora lo lleva hasta allí.
En Roblox, una cinta transportadora es una pieza anclada con una velocidad. Establecer AssemblyLinearVelocity en una pieza anclada no mueve nada por sí solo, pero todo lo que se apoye en ella se desplaza a esa velocidad, incluidos los jugadores:
tycoon.Conveyor.AssemblyLinearVelocity = Vector3.new(12, 0, 0)El vector indica en qué dirección y a qué velocidad: 12 studs por segundo a lo largo del eje X. La velocidad de tu juego se encuentra en Settings.BeltSpeed.
Desafío
FácilPon en marcha la cinta transportadora para que lleve el mineral hasta el colector.
- Debajo del código del dispensador, establece
tycoon.Conveyor.AssemblyLinearVelocity. - Asigna
Vector3.new(Settings.BeltSpeed, 0, 0): BeltSpeed studs por segundo a lo largo del eje X.
Pulsa «Jugar»: el mineral recorre la cinta hasta el bloque verde, y tú también si te subes. Después, pulsa «Comprobar».
Pruébalo tú mismo
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
local tycoon = workspace.Tycoon
print("Ore is worth " .. Settings.OreValue .. " Cash")
-- Cada jugador recibe Cash en la tabla de clasificación
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local cash = Instance.new("IntValue")
cash.Name = "Cash"
cash.Parent = leaderstats
end)
-- Ore: una pieza pequeña que vale Cash y cae debajo de un dropper
local function dropOre(dropper)
local ore = Instance.new("Part")
ore.Name = "Ore"
ore.Size = Vector3.new(1, 1, 1)
ore.Color = Color3.fromRGB(150, 150, 160)
ore.Position = dropper.Position - Vector3.new(0, 2.5, 0)
ore:SetAttribute("Value", Settings.OreValue)
ore.Parent = workspace
end
local function startDropper(dropper)
task.spawn(function()
while dropper:IsDescendantOf(workspace) do
dropOre(dropper)
task.wait(Settings.DropInterval)
end
end)
end
startDropper(tycoon.Dropper)
-- Lección 3: El Conveyor va aquí
Todas las lecciones de Juego de Roblox: Tycoon de fábrica
Practica por tu cuenta: Playground de Roblox