Constructor de escaleras
Parte de la sección Creación de scripts para juegos de Roblox del Journey de Lua de Coddy. Lección 6 de 24.
En la última lección, i movía cada pilar en una dirección. Una escalera necesita que cada escalón vaya hacia arriba y hacia adelante al mismo tiempo, así que i se usa en dos de los tres números.
Supongamos que cada escalón tiene 1 stud de grosor. Para que la parte superior del escalón i esté a la altura i, su centro debe estar medio stud más abajo: i - 0.5. Para acercar cada escalón 2 studs a la meta en Z, resta i * 2 al punto de partida:
for i = 1, 3 do
print(i - 0.5, 10 - i * 2)
endEsto imprime 0.5 8, 1.5 6 y 2.5 4: las coordenadas Y y Z de tres escalones que suben hacia Z 0. Al usar print con varios valores, estos se separan con un espacio.
En este juego, un jugador sube caminando un escalón de aproximadamente 1 stud de altura; cualquier cosa más alta requiere saltar.
Desafío
FácilEl bloque amarillo mide 10 studs de alto: es demasiado alto para saltar. Construye una escalera hasta él.
El bucle ya crea 10 escalones anclados llamados Step, pero todos están en el mismo lugar. Cambia su Position para que el escalón i:
- tenga la parte superior a la altura
i(un escalón tiene 1 de grosor, así que su centro Y esi - 0.5) - esté en Z
10 - i * 2, de modo que cada escalón esté 2 studs más cerca del bloque
Pulsa Play y sube, después Check.
Pruébalo tú mismo
for i = 1, 10 do
local step = Instance.new("Part")
step.Name = "Step"
step.Size = Vector3.new(6, 1, 2)
step.Anchored = true
-- Cada escalón está 1 stud más alto y 2 studs más cerca del bloque amarillo
step.Position = Vector3.new(0, 0.5, 10)
step.Parent = workspace
end
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Creación de scripts para juegos de Roblox
2Bucles y funciones
Fila de pilaresConstructor de escalerasConstructor de torresFábrica de monedasLuz parpadeantePuente que desaparece5Tu primer juego
Tu primer ObbyPractica por tu cuenta: Compilador de Lua online