Menu
CoddyTech

Bệ di chuyển

Thuộc phần Lập trình game Roblox trong hành trình Lua của Coddy. Bài học 22 trên 25.

TweenInfo.new nhận nhiều tham số hơn chỉ có thời gian. Các giá trị theo thứ tự:

  1. thời gian tính bằng giây
  2. kiểu làm mượt, chẳng hạn Enum.EasingStyle.Sine: tốc độ thay đổi như thế nào trong suốt quá trình
  3. hướng làm mượt: In, Out hoặc InOut
  4. số lần lặp: số lần phát thêm, -1 nghĩa là lặp mãi mãi
  5. đảo ngược: true để phát ngược sau mỗi lần chạy
  6. độ trễ: số giây chờ trước khi bắt đầu
local info = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 2, false)

Đoạn này phát 3 lần (một lần, cộng thêm 2 lần lặp), mỗi lần chạy mất 1 giây và quay lại điểm bắt đầu giữa các lần chạy.

Sine cùng với InOut bắt đầu chậm, tăng tốc ở giữa rồi chậm lại ở cuối, tạo chuyển động tự nhiên cho một bệ. Linear giữ nguyên tốc độ trong suốt quá trình.

Bệ di chuyển bằng tween không đưa người chơi sang ngang, họ phải tự đi theo bệ.

challenge icon

Thử thách

Trung bình

Khiến bệ màu xanh lướt qua lại giữa Z 10 và Z -10 mãi mãi.

  1. Chỉ thay đổi dòng TweenInfo.new. Giữ nguyên 3 giây và Sine InOut.
  2. Thêm số lần lặp là -1 (mãi mãi) và đặt đảo chiều thành true để bệ quay trở lại.

Nhấn Chơi: bệ lướt qua lướt lại không ngừng. Sau đó nhấn Kiểm tra.

Tự làm thử

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()

Tất cả bài học trong Lập trình game Roblox

Tự luyện tập: Trình biên dịch Lua online