Class.RemoteFunction:ExecuteClient() 对象使用户可以在客户端-服务器边界上同步发送通信。您可以使用它来定义自定义回调函数,并手动调用它通过调用 Class.RemoteFunction:ExecuteClient() 或 Class.RemoteFunction:ExecuteServer 。代码使用函数1>Class.RemoteFunction:Execute1> 会返
为了让服务器和客户端都可以访问一个 RemoteFunction 实例,它必须位于允许双方都能看到它的地方,例如 ReplicatedStorage ,尽管在一些情况下它的适当是存储在 Workspace 或 1> Class.Tool1> 内。
如果结果是 不需要 ,建议您使用一个 RemoteEvent ,因为它的调用是异步的,并且不需要等待响应继续执行。请参阅 远程事件和回调 获取代码示例和有关 1> Class.RemoteFunction1> 的更多信息。
流媒体精autob
注意,如果 RemoteFunction 在服务器上创建一个实例
参数限制
任何类型的 Roblox 对象,例如 Enum 、 Instance 或其他类型,可以作为参数传递给 RemoteFunction ,还可以通过 Luau 类型, 例如数字、字符串和 booleans,虽然您应该仔细探索 2>限制2> 。
属性
方法
InvokeClient
调用 OnClientInvoke ,这将在 turn 到 Class.RemoteFunction.OnClientHandle|OnClientHandle 调用回调。 由于此方法是从服务器通信到客户端,因此它只会在 1> Class.Script1> 中使用。
任何类型的 Roblox 对象,例如 Enum 、 Instance 或其他类型,都可以作为参数传递给 InvokeClient() ,还有类型 2> 的 Luau 类型,例如数字、字符串和 booleans,尽管您应该仔细探索5>限制5> 。
请参阅RemoteFunction获取代码示例和关于Class.RemoteFunction的更多信息。
警告
在实践中,服务器通常不会调用客户,因为客户通常不会有服务器没有的信息,并且只有客户才能执行的操作,例如显示 GUI,通常不需要回调。因此, RemoteEvent:FireClient() 是推荐作为异步方法,不需要等待响应才能继续执行。
如果您需要从服务器上调用客户端,请注意以下风险:
- 如果客户端抛出错误,服务器也会抛出错误。
- 如果客户端在被调用时断开,InvokeClient() 将发生错误。
- 如果客户端没有返回值,服务器将永久生成。
参数
值传递到 OnClientInvoke 回调。
返回
从 OnClientInvoke 回调中返回的值。
InvokeServer
调用 OnServerInvoke ,这会在 turn LocalScript 回调。该方法是从客户端通信到服务器的,因此它只会在 1> Class.LocalScript1> 中使用。
如果返回的结果不是必要的,它的调用是异步的,因此它建议使用 RemoteEvent:FireServer() 而不是继续执行。
任何类型的 Roblox 对象,例如 Enum 、 Instance 或其他类型,都可以作为参数传递到 Class.RemoteFunction:ExecuteServer()|ExecuteServer() ,还可以通过 Luau 类型,例如数字、字符串和 booleans,尽管您应该仔细探索 2>限制2> 。
请参阅RemoteFunction获取代码示例和关于Class.RemoteFunction的更多信息。
参数
值传递到 OnServerInvoke 回调。
返回
从 OnServerInvoke 回调中返回的值。