Lớp công cụ
RunService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Tóm Tắt
Thuộc Tính
Phương Pháp
BindToRenderStep(name: string,priority: number,function: function):() |
BindToSimulation(function: function,frequency: Enum.StepFrequency,priority: number):RBXScriptConnection |
GetPredictionStatus(context: Instance):Enum.PredictionStatus |
Pause():() |
Reset():() |
Run():() |
SetPredictionMode(context: Instance,mode: Enum.PredictionMode):() |
Stop():() |
UnbindFromRenderStep(name: string):() |
Sự Kiện
Heartbeat(deltaTime: number):RBXScriptSignal |
Misprediction(time: number,instances: {any},stats: Dictionary):RBXScriptSignal |
PostSimulation(deltaTimeSim: number):RBXScriptSignal |
PreAnimation(deltaTimeSim: number):RBXScriptSignal |
PreRender(deltaTimeRender: number):RBXScriptSignal |
PreSimulation(deltaTimeSim: number):RBXScriptSignal |
RenderStepped(deltaTime: number):RBXScriptSignal |
Rollback(time: number):RBXScriptSignal |
Stepped(time: number,deltaTime: number):RBXScriptSignal |
Tài Liệu Tham Khảo API
Thuộc Tính
Phương Pháp
BindToRenderStep
Lợi Nhuận
()
Mẫu mã
Khung Di Chuyển Trong Hình Tròn
local RunService = game:GetService("RunService")
-- Tốc độ mà khung nên di chuyển
local SPEED = 2
local frame = script.Parent
frame.AnchorPoint = Vector2.new(0.5, 0.5)
-- Một phương trình tham số đơn giản của một hình tròn
-- tâm tại (0.5, 0.5) với bán kính (0.5)
local function circle(t)
return 0.5 + math.cos(t) * 0.5, 0.5 + math.sin(t) * 0.5
end
-- Theo dõi thời gian hiện tại
local currentTime = 0
local function onRenderStep(deltaTime)
-- Cập nhật thời gian hiện tại
currentTime = currentTime + deltaTime * SPEED
-- ...và vị trí của khung
local x, y = circle(currentTime)
frame.Position = UDim2.new(x, 0, y, 0)
end
-- Đây chỉ là một hiệu ứng hình ảnh, vì vậy hãy sử dụng độ ưu tiên "Cuối cùng"
RunService:BindToRenderStep("FrameCircle", Enum.RenderPriority.Last.Value, onRenderStep)
--RunService.RenderStepped:Connect(onRenderStep) -- Cũng hoạt động, nhưng không được khuyến nghịHàm Tùy Chỉnh RunService
local RunService = game:GetService("RunService")
local function checkDelta(deltaTime)
print("Thời gian kể từ bước vẽ cuối:", deltaTime)
end
RunService:BindToRenderStep("Kiểm tra delta", Enum.RenderPriority.First.Value, checkDelta)Liên kết và Hủy liên kết một Hàm
local RunService = game:GetService("RunService")
-- Bước 1: Khai báo hàm và một tên
local NAME = "In mãi Lời chào"
local function printHello()
print("Xin chào")
end
-- Bước 2: Liên kết hàm
RunService:BindToRenderStep(NAME, Enum.RenderPriority.First.Value, printHello)
-- Bước 3: Hủy liên kết hàm
RunService:UnbindFromRenderStep(NAME)BindToSimulation
RunService:BindToSimulation(
Tham Số
| Giá Trị Mặc Định: "Hz30" |
| Giá Trị Mặc Định: 2000 |
Lợi Nhuận
Mẫu mã
Đồng bộ hóa thuộc tính màu của một phần
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local somePart:BasePart = Workspace:WaitForChild("Part")
RunService:BindToSimulation(function(deltaTime: number)
local syncdColor = Color3.fromHSV(math.fmod(time(), 1.0), 1.0, 1.0)
somePart:SetAttribute("SyncdColor", syncdColor)
end)
RunService.RenderStepped:Connect(function(deltaTime: number)
local syncdColor = somePart:GetAttribute("SyncdColor")
somePart.Color = syncdColor
end)GetPredictionStatus
Tham Số
Lợi Nhuận
Pause
RunService:Pause():()
Lợi Nhuận
()
Reset
Run
RunService:Run():()
Lợi Nhuận
()
SetPredictionMode
Tham Số
Lợi Nhuận
()
Stop
RunService:Stop():()
Lợi Nhuận
()
Sự Kiện
Misprediction
Tham Số
PostSimulation
PreSimulation
Stepped