RemoteEventクラス

クラス日本語解説あり

ひとことで言うと

サーバーとクライアント(プレイヤーのコンピューター)のあいだで、合図とデータを送り合うための部品です。

公式の説明(英語):An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a RemoteEvent do not yield.

LocalScriptで起きたこと(ボタンを押したなど)をサーバーに伝えたり、サーバーから特定のプレイヤーに知らせたりするときに使います。ReplicatedStorageに置くのが基本です。クライアントから送られてきた値は、そのまま信用せずにサーバーで確かめましょう。

使用例

RemoteEventを作って受け取る(Script)
Script置く場所:ServerScriptService
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local remote = Instance.new("RemoteEvent")
remote.Name = "SayHello"
remote.Parent = ReplicatedStorage

remote.OnServerEvent:Connect(function(player, message)
	print(player.Name .. ":" .. tostring(message))
end)
RemoteEventで送る(LocalScript)
LocalScript置く場所:StarterPlayerScripts
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remote = ReplicatedStorage:WaitForChild("SayHello") :: RemoteEvent

remote:FireServer("こんにちは")

スクリプトは、Luauの型チェック(luau-lsp)で確認しています。

クラスの関係

受け継いでいるクラス:Object → Instance → BaseRemoteEvent → RemoteEvent

メソッド(3)

名前と書き方説明
FireAllClients
RemoteEvent:FireAllClients(arguments: Tuple): ()
サーバーから全員へ合図を送ります。Fires the Class.RemoteEvent.OnClientEvent|OnClientEvent event for each connected client.
FireClient
RemoteEvent:FireClient(player: Player, arguments: Tuple): ()
サーバーから特定のプレイヤーへ合図を送ります。Fires the Class.RemoteEvent.OnClientEvent|OnClientEvent event for a specific client.
FireServer
RemoteEvent:FireServer(arguments: Tuple): ()
クライアントからサーバーへ合図を送ります(LocalScriptで使う)。Fires the Class.RemoteEvent.OnServerEvent|OnServerEvent event on the server from one connected client.

イベント(2)

名前と書き方説明
OnClientEvent
RemoteEvent.OnClientEvent(arguments: Tuple)
クライアント側で、サーバーからの合図を受け取るイベントです。Fires from a LocalScript when either Class.RemoteEvent:FireClient()|FireClient() or Class.RemoteEvent:FireAllClients()|FireAllClients() is called on the same RemoteEvent instance from a Script.
OnServerEvent
RemoteEvent.OnServerEvent(player: Player, arguments: Tuple)
サーバー側で、クライアントからの合図を受け取るイベントです。1つ目の引数は送ってきたプレイヤーです。Fires from a Script when Class.RemoteEvent:FireServer()|FireServer() is called on the same RemoteEvent instance from a LocalScript.

受け継いでいるメンバー

Instance から受け継いでいるもの(46)

Archivable・Capabilities・IsInSandbox・Name・Parent・PredictionMode・Sandboxed・AddTag・ClearAllChildren・Clone・Destroy・FindFirstAncestor・FindFirstAncestorOfClass・FindFirstAncestorWhichIsA・FindFirstChild・FindFirstChildOfClass・FindFirstChildWhichIsA・FindFirstDescendant・GetActor・GetAttribute・GetAttributeChangedSignal・GetAttributes・GetChildren・GetDebugId・GetDescendants・GetFullName・GetStyled・GetStyledPropertyChangedSignal・GetTags・HasTag・IsAncestorOf・IsDescendantOf・IsPropertyModified・QueryDescendants・RemoveTag・ResetPropertyToDefault・SetAttribute・WaitForChild・AncestryChanged・AttributeChanged・ChildAdded・ChildRemoved・DescendantAdded・DescendantRemoving・Destroying・StyledPropertiesChanged

Object から受け継いでいるもの(4)

ClassName・GetPropertyChangedSignal・IsA・Changed

RemoteEventを使う記事

英語の説明とメンバーの一覧は、Roblox Creator Documentation(RemoteEvent)をもとにしています(CC BY 4.0)。日本語の解説は、このサイトで独自に書いたものです。

執筆:鈴木孝昌官公庁のWeb・システム開発を担当する現役プロジェクトマネージャー。沖縄マイクラ部 クロスウェーブで、ロブロックス(Roblox)・マインクラフト(マイクラ)・Scratchなどのプログラミングを指導。マイクラカップ沖縄代表チームを指導(第6回・第7回、第7回TBS賞)。
沖縄マイクラ部で、子どもたちにロブロックス(Roblox)やマインクラフト(マイクラ)のプログラミングを教えています。プロフィールと編集方針
Instagramで教室の様子を見る
noteで記事を読む