Página do tutorial; este artigo é um tutorial avançado.Todos os tutoriais · Tutoriais de script
Conteúdo
- 1 Visão
- 2 TweenService
- 3 TweenInfo
- 4 Dicionário de Propriedades
- 5 Concluindo a interpolação
- 6 Visão geral: Tweening Guis
- 7 UDim2
- 8 TweenPosition
- 9 TweenSize
- 10 TweenSizeAndPosition
- 11 Exemplo
Visão geral
Tweening é uma forma de interpolar uma parte ou ScreenGui. Em outras palavras, para animar suavemente um Tween. Você pode alterar BrickColor, Position, Size e Orientation com Tweening. Muitas vezes você desejaria animar uma GUI ou Parte em vez de usar loops for, uma das razões é tornar seu jogo mais profissional.
TweenService
Primeiro, insira uma parte na área de trabalho e acesse a parte referenciando-a em uma variável local.
TweenService é um serviço que gerencia interpolações, mas não está no espaço de trabalho, portanto, você precisará usar a função GetService.
local TweenPart = script.Parent local TweenService = jogo: GetService ("TweenService")
TweenInfo
Agora precisamos usar TweenInfo. Configure uma terceira variável local e, a seguir, insira o seguinte.
informações locais = TweenInfo.new ()
Entre esses colchetes, você deve inserir as seguintes informações, separadas por vírgulas:
- tempo: a quantidade de tempo usada na interpolação em segundos. Então, se a interpolação levar 5 segundos, você deve inserir o número 5.
- EasingStyle: o estilo em que a parte é interpolada. Você pode encontrar gráficos de distância / tempo para cada um aqui. Insira o valor como Enum.
- EasingDirection: a direção da interpolação. Você pode encontrar mais aqui. Novamente, coloque-o em um Enum.
- repetir: O número de vezes que uma interpolação é repetida. Observe que 0 significa que a interpolação será feita uma vez, 1 significa que a interpolação será feita duas vezes, etc.
- inverte: se a interpolação reverterá ou não para seu estado original após ser feita a cada vez. Este é um booleano, então se você do deseja reverter e, em seguida, insira verdadeiro, caso contrário, coloque falso.
- tempo de atraso: o tempo em segundos que a interpolação irá esperar até se repetir.
O código deve ser semelhante a este:
local Info = TweenInfo.new (4, --A interpolação levará 4 segundos. Enum.EasingStyle.Sine, --A interpolação usará o "Seno" EasingStyle. Enum.EasingDirection.In, --A interpolação usará o " Em "EasingDirection. 5, --A interpolação se repetirá 5 vezes, portanto, será executada 6 vezes no total. Verdadeiro, --A interpolação se inverte. 1 --A interpolação atrasará 1 segundo antes de repetir.)
Dicionário de Propriedades
Por último, você precisa de um dicionário de propriedades você quer mudar. Simplesmente liste as propriedades e seus valores como variáveis.
TweenGoals local = {Posição = Vector3.new (1,1,1); Material = Enum.Material.Neon; Color3 = Color3.fromRGB (234,92,103)}
A interpolação acima definirá seu Posição para (1,1,1), defina seu Material: para néon (o material que o faz brilhar), e sua Coloração a (234, 92, 103) na escala RGB, o que daria um tom salmão.
Observe que as propriedades devem ser separadas por ponto-e-vírgula (;) e o dicionário entre colchetes.
Terminando o Tween
Agora que você tem o TweenService, a parte, o tipo de dados TweenInfo e o dicionário de propriedades, é hora de criar a interpolação. Adicione outra variável local e use a função Criar no TweenService para criar uma interpolação. Em seguida, inclua a parte que deseja interpolar, o TweenInfo e o dicionário de propriedades como parâmetros.
local Tween = TweenService: Criar (TweenPart, Info, Propriedades)
Agora, o Tween está disponível a qualquer momento e está contido no Interpolação variável. Finalmente, para reproduzir a interpolação a qualquer momento, use a função Play () na interpolação.
Tween: Play ()
Parabéns, você acabou de interpolar sua primeira parte! Seu código final deve ser semelhante a este:
local TweenPart = script.Parent local TweenService = jogo: GetService ("TweenService") local Info = TweenInfo.new (4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 5, true, 1) local TweenGoals = {Position = Vector3.new (1,1,1); Material = Enum.Material.Neon; Color = Color3.fromRGB (234,92,103)} local Tween = TweenService: Criar (TweenPart, Info, Propriedades) Tween: Play ()
Visão geral: Tweening Guis
Existe uma maneira muito mais simples de interpolar o ScreenGuis. Existem 3 tipos de Tweens para Guis:
- TweenPosition: move o gui
- TweenSize: dimensiona o gui
- TweenSizeAndPosition: move e escala a interface de forma síncrona
UDim2
Antes de começar, precisamos revisar o UDim2. UDim2 é um tipo de dados semelhante ao Vector3, mas leva quatro valores numéricos. UDim2 é reservado para Guis, pois gerencia objetos bidimensionais. Os quatro valores são a escala X, deslocamento X, escala Y e deslocamento Y.
TweenPosition
TweenPosition é uma função usada para mover um Gui. Como parâmetros, você precisará fornecer o seguinte:
- endPosition: Posição final em UDim2.
- easingDirection: direção de interpolação. Use Enum.
- easingStyle: Estilo de interpolação. Use Enum.
- tempo: duração da interpolação em segundos.
- substituir: se a interpolação interromperá ou não outra interpolação. Boleano.
- callback: função a ser chamada após a conclusão da interpolação. Nulo por padrão.
O código deve ser semelhante a este:
game.StarterGui.ScreenGui: TweenPosition (UDim2 (0,0,0,0), Enum.EasingDirection.Out, Enum.EasingStyle.Linear, 1, false, nil)
TweenSize
TweenSize é muito semelhante a TweenPosition, mas em vez de fornecer endPosition, você forneceria endSize.
game.StarterGui.ScreenGui: TweenSize (UDim2 (1,2,1,2), Enum.EasingDirection.Out, Enum.EasingStyle.Linear, 1, false, nil)
TweenSizeAndPosition
Para usar a função TweenSizeAndPosition, você deve incluir endSize e endPosition. Lembre-se de que o tamanho é fornecido primeiro.
function Callback () print ("TweenComplete") end game.StarterGui.ScreenGui: TweenSize (UDim2 (0.5,0,0.5,0), UDim2 (0,300,0,300), Enum.EasingDirection.Out, Enum.EasingStyle.Linear, 1 , falso, retorno de chamada)
Nesse caso, o Gui se moverá em um estilo linear até o ponto (300,300). (300 pixels à direita, 300 para cima). Ele também será reduzido para um quarto da tela, antes de chamar a função Callback ().
E isso é tudo que você precisa saber sobre interpolação! Veja o exemplo abaixo.
Exemplo
O exemplo abaixo iria interpolar um quadro na parte superior esquerda do tamanho do pai e redimensioná-lo para 0.
frame local = script.Parent.Frame frame: TweenSizeAndPosition (UDim2.new (0,0,0,0), UDim2.new (0,0,0,0))