RunService

Hiển Thị Bản Đã Lỗi Thời

*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.

Không Thể Tạo
Dịch Vụ
Không Sao Chép

RunService đều chứa các phương thức và sự kiện cho qu

RunService cũng nhà các sự kiện cho phép bạn code của bạn để tuân theo k

Kết quả kiểm tra ngữ cảnh

<tbody>
<tr>
<td>Người chơi trực tiếp</td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td />
<td />
<td />
</tr>
<tr>
<td>Máy Chủ Thực Tế</td>
<td><code>false</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td />
<td />
<td />
</tr>
<tr>
<td>Chế độ chỉnh sửa</td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>false</code></td>
</tr>
<tr>
<td>Chỉnh sửa hợp tác</td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>false</code></td>
</tr>
<tr>
<td>Chạy Mode</td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>true</code></td>
</tr>
<tr>
<td>Chơi mode (Client)</td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
</tr>
<tr>
<td>Chơi mode (Server)</td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>true</code></td>
</tr>
<tr>
<td>Thử nghiệm đội (Người chơi)</td>
<td><code>true</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
</tr>
<tr>
<td>Làm kiểm tra đội (Server)</td>
<td><code>false</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
<td><code>true</code></td>
<td><code>false</code></td>
</tr>
</tbody>
Môi trường Class.RunService:IsStudio()|IsStudioIsClientIsServerIsEditIsrunningIsRunMode

Tóm Tắt

Thuộc Tính

Phương Pháp

  • BindToRenderStep(name : string,priority : number,function : function):void

    Được cung cấp một tên chuỗi của một hàm và một thứ hạng, phương thức này liên kết hàm với RunService.PreRender .

  • Ghi Song Song

    Quyết định whether the current environment is running on the client.

  • Bảo Mật Plugin
    Ghi Song Song

    Quyết định whether the current environment is in Edit mode.

  • Ghi Song Song

    Quyết định có phải nhấn vào nút Chạy để chạy simulators trong Studio.

  • Quay về có đang chạy trải nghiệm hay không.

  • Ghi Song Song

    Quyết định whether the current environment is running on the máy chủ.

  • Ghi Song Song

    Quyết định whether the current environment is running in Studio.

  • Pause():void
    Bảo Mật Plugin

    Tạm dừng mô phỏng trải nghiệm nếu nó đang chạy, khiến cho nó không thể kết nối với các kịch bản và mô phỏng.

  • Run():void
    Bảo Mật Plugin

    Chạy trò chơi simulators, chạy vật lý và nhận xét.

  • Stop():void
    Bảo Mật Plugin

    Ngăn chặn mô phỏng trải nghiệm nếu nó đang chạy.

  • Làm giả bộ đơn xử lý đã được liên kết với RunService:BindToRenderStep() để xử lý lại.

Sự Kiện

Thuộc Tính

ClientGitHash

Chỉ Đọc
Không Sao Chép
Bảo Mật Kịch Bản Roblox
Đọc Song Song
Không Sao Chép
Bảo Mật Plugin
Đọc Song Song

Phương Pháp

BindToRenderStep

void

Hàm BindToRenderStep() định nghĩa một hàm chức năng tùy chỉnh để được gọi vào một thời điểm cụ thể trong quá trình render. Có ba giá trị chính: name , priority và những gì để gọi.

Vì nó liên quan đến quá trình render của client, BindToRenderStep() chỉ có thể được gọi trên client.

Tên

Tham số name là một nhãn cho các bước kết nối và có thể được sử dụng với RunService:UnbindFromRenderStep() nếu các bước kết nối không còn cần thiết.


local RunService = game:GetService("RunService")
local function functionToBind() end
-- Làm cho chức năng trên bên trên của chức năng "tempBind"
RunService:BindToRenderStep("tempBinding", 1, functionToBind)
-- Gỡ kết nối chức năng được gắn với "tempBind"
RunService:UnbindFromRenderStep("tempBinding")
Độ tiên tiến

The priority of the binding is an integer; it determines when during the render step to call the custom function. The lower this number, the sooner the custom function will be called. If two bindings have the same priority, the Roblox engine will randomly pick one to run first. The default Roblox control scripts run with these specific priorities:

  • Nhập người chơi: 100
  • Điều khiển máy ảnh: 200 Để tiện lợi;枚 Enum.RenderPriority枚 có thể được sử dụng để xác định giá trị số để cài đặt một liên kết. Ví dụ, để tạo một liên kết trước khi cập nhật máy ảnh mặc định, chỉ cần

Khi sử dụng Enum.RenderPriority , hãy nhớ sử dụng .Value ở cuối danh sách枚 đều được đề xuất. RunService:BindToRenderStep() sẽ không hoạt động nếu chỉ sử dụng枚 đều được đề xuất riêng sở hữu.


local RunService = game:GetService("RunService")
local function beforeCamera(delta)
-- Mã ở đây sẽ chạy trước khi tập lệnh Roblox camera mặc định
end
RunService:BindToRenderStep("Before camera", Enum.RenderPriority.Camera.Value - 1, beforeCamera)
Hàm Tùy Chỉnh và Thời Gian Delta

引用 最后 参数 ( function ) là hàm tùy chỉnh để gọi. Hàm này sẽ được truyền một biến đổi tùy chỉnh tên là deltaTime which shows how much time passed between the beginning of the previous render step and the beginning of the current render step.

Tất cả các cập nhật rending sẽ đợi cho đến khi mã trong bước render xong. Make sure that any code called by BindToRenderStep() runs quickly and efficiently; if code takes too long, trải nghiệm visuals sẽ bị nhiều.

Tham Số

name: string

Nhãn cho phép kết nối mà bạn có thể sử dụng với Unbind nếu không cần thiết.

priority: number

Độ ưu tiên của hàm như một số nguyên; nó xác định khi nào trong quá trình render gọi hàm tùy chỉnh. Càng thấp số này, hàm tùy chỉnh sẽ được gọi sớm hơn. Nếu hai hàm có cùng độ ưu tiên, Engine Roblox sẽ chọn ngẫu nhiên để chạy đầu tiên.

function: function

Hàm tùy chỉnh đang được liên kết.


Lợi Nhuận

void

Mẫu mã

Frame Moving in Circle

local RunService = game:GetService("RunService")
-- How fast the frame ought to move
local SPEED = 2
local frame = script.Parent
frame.AnchorPoint = Vector2.new(0.5, 0.5)
-- A simple parametric equation of a circle
-- centered at (0.5, 0.5) with radius (0.5)
local function circle(t)
return 0.5 + math.cos(t) * 0.5, 0.5 + math.sin(t) * 0.5
end
-- Keep track of the current time
local currentTime = 0
local function onRenderStep(deltaTime)
-- Update the current time
currentTime = currentTime + deltaTime * SPEED
-- ...and the frame's position
local x, y = circle(currentTime)
frame.Position = UDim2.new(x, 0, y, 0)
end
-- This is just a visual effect, so use the "Last" priority
RunService:BindToRenderStep("FrameCircle", Enum.RenderPriority.Last.Value, onRenderStep)
--RunService.RenderStepped:Connect(onRenderStep) -- Also works, but not recommended
RunService Custom Function

local RunService = game:GetService("RunService")
local function checkDelta(deltaTime)
print("Time since last render step:", deltaTime)
end
RunService:BindToRenderStep("Check delta", Enum.RenderPriority.First.Value, checkDelta)
Bind and Unbind a Function

local RunService = game:GetService("RunService")
-- Step 1: Declare the function and a name
local NAME = "Print Hello"
local function printHello()
print("Hello")
end
-- Step 2: Bind the function
RunService:BindToRenderStep(NAME, Enum.RenderPriority.First.Value, printHello)
-- Step 3: Unbind the function
RunService:UnbindFromRenderStep(NAME)

IsClient

Ghi Song Song

Nếu mã đã triển khai phương thức này đang chạy trong một context client (trong một LocalScript , trong một Class

Nếu phương pháp này trả lại true, môi trường hiện tại có thể truy cập các tính năng chỉ dành cho khách hàng, chẳng hạn như RunService.PreRender hoặc Players.LocalPlayer.


Lợi Nhuận

Whether the current environment is running the client.

IsEdit

Bảo Mật Plugin
Ghi Song Song

Phương thức này trả về có hay không đang ở chế độ "chỉnh sửa" trong môi trường hiện tại, ví dụ như trong Studio khi trải nghiệm không đang chạy.

IsEdit() sẽ trả lại ngược lại của IsRunning() , ngoại trừ khi simulazione đã tạm dừng, trong đó cả hai phương thức sẽ trả lại false .


Lợi Nhuận

Dù môi trường hiện tại đang ở chế độ "chỉnh sửa" hay không.

IsRunMode

Ghi Song Song

Phương thức này trả về whether the Run button has been pressed to run the simulation in Studio. Nó sẽ tiếp tục trả về true nếu simulators đã được tạm dừng bằng nút Pause ; however, once it has been stopped using the 1> Stop1> button, it will revert to returning 4> force</

Lưu ý rằng Studio chỉ bắt đầu "chạy" khi nút Chạy được nhấn, không phải là nút Chơi. Cũng lưu ý rằng phương pháp này sẽ trả lại false nếu simulators được khởi động bằng cách sử dụng


Lợi Nhuận

Có phải nút Chạy đã được nhấn để thiết lập mô phỏng trong Studio.

IsRunning

Trả lại có tức là trải nghiệm đang chạy hay không, có nghĩa là simulators đã được chạy bằng các nút Chạy hoặc Chơi.

IsRunning() sẽ luôn trả lại ngược lại của IsEdit() ngoại trừ khi simulators đã được tạm dừng, trong đó cả hai phương pháp sẽ trả lại false .


Lợi Nhuận

Có đang chạy trải nghiệm hay không.

IsServer

Ghi Song Song

Các biến này được định nghĩa bởi các giá trị trong các ô trong máy chủ Class.ModuleScript

Nếu chức năng này trả về true, thì môi trường hiện tại có thể truy cập các tính năng chỉ dành cho máy chủ như ServerStorage hoặc ServerScriptService .


Lợi Nhuận

Môi trường hiện tại có đang chạy trên máy chủ không.

IsStudio

Ghi Song Song

Phương thức này trả về có hay không có một môi trường đang chạy trong Studio. Nó có thể được sử dụng để bao gồm mã nên chỉ được thiết lập khi thử nghiệm trong Studio.


Lợi Nhuận

Có phải môi trường hiện tại đang chạy trong Studio không?

Pause

void
Bảo Mật Plugin

Phương pháp này tạm dừng simulazione trải nghiệm nếu nó đang chạy, khiến cho simulazione dừng chạy nếu có vật lý và script. Simulación có thể được bắt đầu bằng cách sử dụng Run() hoặc nút Run ở Studio;


Lợi Nhuận

void

Run

void
Bảo Mật Plugin

Phương thức này chạy simulators (vật lý và script) của trải nghiệm. Khi simulators đang chạy, IsRunning() sẽ trả lại true . Tuy nhiên, IsRunMode()


Lợi Nhuận

void

Stop

void
Bảo Mật Plugin

Phương thức này ngăn chặn simulatorship if it is running. When simulatorship is stopped, IsRunning() sẽ trả lại falseIsEdit() sẽ trả lại 1>1> tru

Ngược lại với nút Dừng lại trong Studio, gọi phương thức này sẽ không khôi phục trải nghiệm đến trạng thái nó đã ở trước khi máy chủ được thiết lập. Điều này có nghĩa là bất kỳ thay đổi nào đã được thực hiện trên trải nghiệm bởi máy chủ và script sẽ t


Lợi Nhuận

void

UnbindFromRenderStep

void

Được cung cấp một tên của một hàm đã gửi đến BindToRenderStep() , phương thức này sẽ bỏ kết thúc gọi của hàm trong PreRender . Điều này được sử dụng để bỏ kết thúc các

Nếu không có chức năng liên kết bằng cái tên được đưa ra, phương pháp này không thực hiện bất kỳ hành động nào và tiếp tục mà không nâng cấp một lỗi.

Tham Số

name: string

Tên của chức năng đang bị unbound.


Lợi Nhuận

void

Sự Kiện

Heartbeat

Sự kiện Heartbeat mỗi khung, sau khi công suất simulinkhí cơ học hoàn tất. deltaTime argument cho thấy thời gian đã trôi qua kể từ khung trước.

Sự kiện này xảy ra khi hầu hết các script được thi hành. Nó xảy ra ở cuối mỗi khung và cũng là khi bất kỳ lệnh chờ đợi nào được thi hành, chẳng hạn như những lệnh được lịch trình cho task library. Heartbeat thường đượ

Sau bước này, máy chủ hoặc máy chủ gửi các cập nhật và sự kiện thuộc tính cho máy chủ hoặc khách hàng mà sau đó được nhận là một phần của bước nhận nhân bản nhận bước.

Tham Số

deltaTime: number

Thời gian (in giây) từ khi khung trước.


PostSimulation

Sự kiện PostSimulation diễn ra mỗi khung hình, sau khi công suất simulặng vật lý hoàn tất. deltaTimeSim argument cho thấy thời gian đã trôi qua kể từ khung hình trước.

Sự kiện này hữu ích để thực hiện các điều chỉnh cuối cùng cho kết quả của mô phỏng. Sau giai đoạn này, máy chủ sẽ kích hoạt sự kiện Heartbeat.

Tham Số

deltaTimeSim: number

Thời gian (in giây) từ khi khung trước.


PreAnimation

Sự kiện PreAnimation diễn ra mỗi khung hình, trước khi simulazione vật lý nhưng sau khi render. Biểu tượng deltaTimeSim cho thời gian đã elapsed kể từ khung hình trước.

Sự kiện này hữu ích cho việc điều chỉnh các đối tượng hoạt họa, chẳng hạn như điều chỉnh tốc độ hoặc ưu tiên của chúng. Khi sự kiện PreAnimation kết thúc, máy chủ sẽ thực hiện các hoạt họa này, cập nhật những hình thể chung sẽ được sử dụng sau đ

Sau khi hoạt họa được bước, máy chủ sẽ kích hoạt sự kiện PreSimulation .

Tham Số

deltaTimeSim: number

Thời gian (in giây) từ khi khung trước.


PreRender

Sự kiện PreRender (tương đương với RenderStepped ) khiến mọi khung hình đều được kết thúc trước khi khung hình được render. Biến deltaTimeRender cho thấy thời gian đã trôi qua kể từ khung hình trước đó.

Sự kiện này cho phép bạn chạy mã và cập nhật thế giới trước khi nó được vẽ trên màn hình của một người chơi. Điều này hữu ích cho các điều chỉnh cuối cùng như thay đổi vị trí người đối tượng, cập nhật hoạt họa hoặc chuẩn bị hiệu

PreRender là bên client, nó chỉ có thể được sử dụng trong một LocalScript , trong một ModuleScript yêu cầu bởi một 1> Class.LocalScript

Sau khi kết thúc giai đoạn PreRender, giai đoạn simulación bắt đầu với sự kiện PreAnimation.

Tham Số

deltaTimeRender: number

Thời gian (in giây) từ khi khung trước.


PreSimulation

Sự kiện PreSimulation (tương đương với Stepped ) kích hoạt mỗi khung hình, trước khi simulators vật lý. Ủ thuyết deltaTimeSim đề cập thời gian đã trôi qua kể từ khung hình trước.

Sự kiện này hữu ích để điều chỉnh các thuộc tính như tốc độ hoặc lực chỉ trước khi chúng được áp dụng như một phần của simulazione. Simulazione sau đó chạy, có thể nhiều lần, khi solver vật lý chạy ở tần số cao hơn các hệ thống động cơ khá

Tham Số

deltaTimeSim: number

Thời gian (in giây) từ khi khung trước.


RenderStepped

Sự kiện RenderStepped (tương đương với PreRender ) kích hoạt mỗi khung hình, trước khi khung hình được render. The deltaTime argument indicates the time that has elapsed since the previous frame.

Sự kiện này cho phép bạn chạy mã và cập nhật thế giới trước khi nó được vẽ trên màn hình của một người chơi. Điều này hữu ích cho các điều chỉnh cuối cùng như thay đổi vị trí người đối tượng, cập nhật hoạt họa hoặc chuẩn bị hiệu

RenderStepped là bên client, nó chỉ có thể được sử dụng trong một LocalScript , trong một ModuleScript yêu cầu bởi một 1> Class.LocalScript

Sau khi kết thúc giai đoạn RenderStepped, giai đoạn simulación bắt đầu với sự kiện PreAnimation.

Tham Số

deltaTime: number

Thời gian (in giây) từ khi khung trước.


Stepped

Sự kiện Stepped (tương đương với PreSimulation ) kích hoạt mỗi khung hình, trước khi simulators vật lý. Ủ thuận deltaTime đề cập thời gian đã trôi qua kể từ khung hình trước.

Sự kiện này hữu ích để điều chỉnh các thuộc tính như tốc độ hoặc lực chỉ trước khi chúng được áp dụng như một phần của simulazione. Simulazione sau đó chạy, có thể nhiều lần, khi solver vật lý chạy ở tần số cao hơn các hệ thống động cơ khá

Tham Số

time: number

Thời gian (in seconds) mà RunService đã chạy.

deltaTime: number

Thời gian (in giây) từ khi khung trước.