Menu
CoddyTech

A porta com botão

Parte da seção Scripts para jogos no Roblox do Journey de Lua da Coddy. Lição 20 de 24.

O botão vermelho tem um ClickDetector, assim como a lâmpada. Definir Position move uma peça instantaneamente. Para fazê-la deslizar, use TweenService: você descreve onde a peça deve terminar e quanto tempo o trajeto leva, e o Roblox a anima.

local TweenService = game:GetService("TweenService")
local info = TweenInfo.new(2)
local goal = { Transparency = 1 }
local fade = TweenService:Create(workspace.Ghost, info, goal)
fade:Play()

TweenInfo.new(2) significa 2 segundos. O objetivo é uma tabela com nomes de propriedades e os valores finais. Create cria a interpolação, e nada se move até você chamar Play. Uma interpolação pode alterar números, valores Vector3, como Position e Size, e cores Color3.

challenge icon

Desafio

Médio

Uma porta de madeira bloqueia a abertura na parede, e o bloco vermelho é um botão com um ClickDetector. Este script fica dentro da porta.

Quando o botão for clicado, deslize a porta 10 studs para cima ao longo de 1 segundo. info e goal estão prontos: crie o tween e execute-o em MouseClick. A porta não deve se mover antes do clique.

Pressione Play, caminhe até o botão, clique nele e passe pela porta. Depois, Check.

Experimente você mesmo

local TweenService = game:GetService("TweenService")
local door = script.Parent
local button = workspace.Button

local info = TweenInfo.new(1)
local goal = { Position = door.Position + Vector3.new(0, 10, 0) }

-- Crie um tween da porta usando info e goal

-- Reproduza-o quando o ClickDetector do botão for clicado
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Scripts para jogos no Roblox

Pratique por conta própria: Compilador de Lua online