움직이는 발판
Coddy Lua 여정의 Roblox 게임 스크립팅 섹션에 포함된 레슨. 24개 중 21번째.
TweenInfo.new에는 시간 외에도 여러 값을 전달합니다. 값은 다음 순서입니다.
- 초 단위 시간
- 이징 스타일. 예:
Enum.EasingStyle.Sine: 진행 중 속도가 어떻게 변하는지 지정합니다 - 이징 방향:
In,Out또는InOut - 반복 횟수: 추가로 재생할 횟수이며, 영원히 반복하려면
-1을 사용합니다 - 반전: 각 실행이 끝난 뒤 역방향으로 재생하려면
true로 설정합니다 - 지연 시간: 시작하기 전에 기다릴 시간(초)
local info = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 2, false)이 설정은 3회 재생됩니다(1회 재생에 2회 반복). 매번 1초가 걸리며, 실행 사이에는 시작 지점으로 돌아갑니다.
Sine과 InOut을 사용하면 플랫폼이 처음에는 천천히 움직이고, 중간에 속도가 빨라졌다가 끝날 때 느려집니다. 플랫폼이 움직이는 자연스러운 방식입니다. Linear는 처음부터 끝까지 같은 속도를 유지합니다.
트윈으로 움직이는 플랫폼은 플레이어를 옆으로 실어 나르지 않으므로 플레이어는 플랫폼과 함께 걸어야 합니다.
챌린지
중급파란색 플랫폼이 Z 10과 Z -10 사이를 부드럽게 오가며 계속 움직여야 합니다. 스크립트는 플랫폼을 그 위치까지 한 번만 트윈합니다.
TweenInfo만 변경하여 플랫폼이 다음과 같이 움직이도록 하세요.
- 각 방향으로 3초가 걸리고,
SineInOut이징을 사용합니다. - 끝에 도달한 후 되돌아옵니다.
- 멈추지 않습니다.
Play를 눌러 움직임을 확인한 다음 Check를 누르세요.
직접 해보기
local TweenService = game:GetService("TweenService")
local platform = script.Parent
-- TweenInfo.new(time, style, direction, repeatCount, reverses)
local info = TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local goal = { Position = Vector3.new(0, 10, -10) }
local tween = TweenService:Create(platform, info, goal)
tween:Play()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
Roblox 게임 스크립팅의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러