Lua Roblox: Эффект радужного текста для NameLabel
local TweenService = game:GetService("TweenService")-- Tìm nhãn tên (NameLabel)local char = script.Parent or game.Players.LocalPlayer.Characterif not char then return endlocal nameLabel = char:WaitForChild("Head"):WaitForChild("NameLabel")-- Danh sách 7 màu sắc (Red, Orange, Yellow, Green, Cyan, Blue, Purple)local colors = { Color3.new(1, 0, 0), -- Đỏ Color3.new(1, 0.5, 0), -- Cam Color3.new(1, 1, 0), -- Vàng Color3.new(0, 1, 0), -- Xanh lá Color3.new(0, 1, 1), -- Xanh cyan Color3.new(0, 0, 1), -- Xanh dương Color3.new(0.5, 0, 1), -- Tím}-- Hàm tạo tween chuyển màulocal function createColorTween(duration, color) local info = TweenInfo.new(duration, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut) local goal = { TextColor3 = color } return TweenService:Create(nameLabel, info, goal)end-- Hàm chạy hiệu ứng lặp lại vô hạnlocal function runRainbowLoop() local index = 1 while true do for i = 1, #colors do local currentColor = colors[i] local nextColor = colors[i % #colors + 1] -- Tạo tween từ màu hiện tại sang màu tiếp theo local duration = 0.5 -- Tốc độ chuyển màu (giây) -- Chúng ta cần tween mượt mà hơn bằng cách interpolate thủ công hoặc dùng tween nối tiếp -- Cách đơn giản nhất là tạo tween liên tiếp local tween = createColorTween(duration, currentColor) tween:Play() tween.Completed:Wait() -- Cập nhật chỉ số cho lần lặp sau (logic này đơn giản hóa thành chuyển tuần tự) index = i end -- Đợi một chút trước khi lặp lại vòng tròn task.wait(0.1) endend-- Chạy hiệu ứng-- Lưu ý: Để có hiệu ứng "nhấp nháy" mượt mà giữa các màu, ta nên dùng loop liên tục-- Nhưng code trên sẽ chuyển tuần tự. Để đẹp hơn, ta sẽ tạo một vòng lặp chuyển màu liên tụclocal currentIndex = 1local function animateColors() while task.wait() do local targetColor = colors[currentIndex] local tween = createColorTween(0.3, targetColor) -- 0.3 giây mỗi màu tween:Play() tween.Completed:Wait() currentIndex = currentIndex + 1 if currentIndex > #colors then currentIndex = 1 end endend-- Bắt đầu hiệu ứnganimateColors()
Đây là một đoạn mã Lua được viết cho Roblox, sử dụng TweenService để tạo hiệu ứng màu sắc thay đổi liên tục cho một nhãn văn bản (NameLabel) trên đầu nhân vật.
Mã này thực hiện các bước sau:
- Lấy dịch vụ
TweenService: Dịch vụ này được sử dụng để tạo các hiệu ứng chuyển động mượt mà. - Tìm
NameLabel: Mã tìm nhãn văn bản trong phần đầu của nhân vật người chơi. - Định nghĩa bảng màu: Một mảng chứa 7 màu sắc khác nhau (Đỏ, Cam, Vàng, Xanh lá, Xanh lam, Tím).
- Hàm
createColorTween: Tạo một đối tượngTweenđể chuyển đổi màu văn bản củaNameLabelsang một màu đích trong một khoảng thời gian nhất định. - Hàm
animateColors: Vòng lặp vô hạn, lần lượt chuyển đổi màu văn bản củaNameLabelqua 7 màu đã định nghĩa, mỗi màu kéo dài 0.3 giây, tạo ra hiệu ứng cầu vồng chuyển động. - Khởi chạy hiệu ứng: Gọi hàm
animateColors()để bắt đầu quá trình thay đổi màu sắc.
Hiệu ứng này thường được sử dụng để làm nổi bật tên người chơi hoặc tạo điểm nhấn thị giác trong game.
Đã sao chép văn bản
Xong
Lỗi