SpawnLocation
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
スポーン場所、または「スポーン」は、Player が死亡したときにリスポーンする場所を決定します。これらは、Teams を使用して、特定のプレイヤーのみが各スポーンを使用できるように構成することができます。また、 Class.ForceField|ForceField
スポーン場所は、障害物コースなどでチェックポイントとして使用できます。SpawnLocation.AllowTeamChangeOnTouch プロパティを使用して、プレイヤーがそれに触れると、スポーン場所のチームが変更されます。この場合、最初の Class.
Class.SpawnLocation.TeamColor が SpawnLocation.Neutral を false に設定している Studio の SpawnLocation.TeamColor に SpawnLocation が追加された場合、チームが 1>Class.SpawnLocation.TeamColor</
ルールの生成
プレイヤーがリスポーンすると、以下のいくつかのルールが有効になります:
- Class.SpawnLocation.Neutral が偽で設定されているとき、Players は、Player.TeamColor が Class.SpawnLocation.TeamColor と一致するように、上にリスポーンします。
- Class.SpawnLocation.Neutral が true に設定されると、任意のプレイヤーは SpawnLocation.TeamColor にかかわらず、上にスポーンできます
- Class.Player に複数の資格のあるスポーンがある場合、ランダムなスポーンが選択されます
- プレイヤーは、スポーン場所の上部にあるさまざまな場所にスポーンしますが、現在は、1つの場所からスポーンした後、他の場所からスポーンすることができます
参照してください:
- プレイヤーがリスポーンするのにどれくらいの時間がかかるか構成したい場合は、RespawnTime プロパティを見てください
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
概要
プロパティ
Class.Player が SpawnLocation に触れると、Player キャラクターが 1>Class.SpawnLocation1> に接触すると、プレイヤーの 4>Class.Player.TeamColor4> が 7>Class.SpawnLocation.TeamColor
この 0>Class.SpawnLocation0> に生成される 3>Class.Player3> キャラクターの時間長、6>Class.ForceField6> は、ForceField9> の Duration がゼロである場合、2>Class.ForceField</
Class.SpawnLocation が有効であるかどうかを設定します。無効なプレイヤーは、SpawnLocation に生成できません、および AllowTeamChangeOnTouch 機能が無効になっています。
Class.SpawnLocation が特定のチームと関係しているかどうかにかかわらず。これは、このプロパティを「Player」、または「Team」のいずれかが設定されている場合、すべての 1> Class.SpawnLocation1> がその上に生成されることを意味します。
Class.SpawnLocation は、SpawnLocation.Neutral プロパティが偽である場合、スポーンのチームカラーと同じ Players を持つ、同じ 1>Class.Player1> だけがそこにスポーンできます。
オブジェクトの全体的な形状を設定します。
物理的に移動不可能なパーツを決定します。
パーツの組み立ての角度速度。
世界スペースのパーツアセンブリの中心。
部品の組み立ての直線速度。
パーツのアセンブリの合計質量。
アセンブリのルート部分に関する参照。
パーツの背面の表面タイプを決定します (+Z 方向)。
部品の下面の表面のタイプを決定します (-Y 方向)。
パーツの色を決める。
世界中の BasePart の位置と向きを決める。
パーツが他のパーツと衝突するかどうかを決定します。
空間クエリ操作中にパーツが検討されるかどうかを決定します。
パーツで Touched と TouchEnded イベントが発動するかどうかを決定します。
パーツがシャドウをキャストするかどうかを決定します。
パーツの中心マスが位置する世界の位置を説明します。
部品の衝突グループの名前を説明します。
パーツの色を決める。
パーツの現在の物理プロパティを示します。
パーツの複数の物理プロパティを決定します。
パーツやアセンブリで空気力を有効にまたは無効にする。
Class.BasePart の物理的エクセンツの BasePart 。
Class.BasePart の実際の物理サイズは、物理エンジンによって見られる。
パーツのフロント面のタイプ(-Z 方向)を決定します。
パーツの左側の表面のタイプを決定します (-X 方向)。
ローカルクライアントに表示されるのは、BasePart.Transparency のマルチプライヤーを決定します。
スタジオでパーツを選択できるかどうかを決定します。
部品の質量、密度、ボリュームの製品を説明します。
パーツが硬ボディの総質量または惰性に貢献しているかどうかを決定します。
パーツのテクスチャとデフォルトの物理プロパティを決定します。
Class.Material の名前。
世界のパーツの回転を説明します。
パーツのピボットのオフセットを CFrame から指定します。
部品の世界の位置を説明します。
最後に記アップデートされた物理の更新からの時間。
パーツがスカイボックスを反射する量を決めます。
サイズ変更メソッドによって許可される最小の変更を説明します。
パーツのサイズ変更が可能な顔を説明します。
パーツの右側面の表面の種類を決定します (+X 方向)。
アセンブリのルート部分を決定するための主要ルール。
3軸のパーツの回転
パーツのサイズ (長さ、幅、高さ) を決定します。
パーツのトップフェイスの表面の種類を決定します (+Y 方向)。
パーツの不透明度の逆にあるパーツの見える量を決めます。
方法
BasePart から継承した 方法アセンダントなインパルスをアセンブリに適用します。
アセンダリーをアセンダリーの center of mass に適用します。
指定された位置にインパルスを適用します。
パーツが互いに衝突できるかどうかを返します。
パートのネットワーク所有権を設定できるかどうかをチェックします。
オブジェクトに接続されたパーツのテーブルを任意の剛性関節で返します。
このパーツに接続されているすべての共同または制限を返します。
Class.BasePart.Mass|Mass プロパティの値を返します。
このパートのネットワーク所有者が現在のプレイヤーであるか、サーバーの場合、nilです。
ゲームエンジンがこのパーツのネットワーク所有者を自動的に決定する場合、 true が返されます。
パーツのアセンブルのベース部分を返します。
このパーツとインターセクトする BasePart.CanCollide のすべての部分のテーブルを返します。
このパーツに関連するこの部分のアセンブリの直線速度を返します。
オブジェクトが配置するパーツに接続されている場合、Anchoredパーツなど、返りは Class.BasePart.Anchored|Anchored パーツです。
Studio サイズ変更ツールを使用すると、オブジェクトのサイズが変更されます。
これと接続されたすべての部品の所有者として指定されたプレイヤーを設定します。
ゲームエンジンは、パーツの物理を処理するプロセスをクライアントまたはサーバーの 1 つで処理するかをダイナミックに決定します。
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
パーツと他のパーツの重複するジオメトリから新しい IntersectOperation を作成します。
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Class.UnionOperation を作成します、Class.UnionOperation は、Class.UnionOperation のパーツのオートポイントによってオートポイントをオーバーライドします。
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
パーツ、および、パーツが入った配列のジオメトリを含む新しい UnionOperation をパーツから作成します。
Class.PVInstance のピボットを取得します。
Class.PVInstance とそのすべての子孫 PVInstances は、ピボットが指定の CFrame に移動します。
プロパティ
AllowTeamChangeOnTouch
Class.Player は、SpawnLocation に連絡れるとチームに参加できます。
Class.SpawnLocation.Enabled が偽値に設定されている場合、これは機能しません。
チェックポイントを作成する
この機能は、障害物コースや同様のゲームでチェックポイントを作成するのによく使用されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
Duration
この 0>Class.SpawnLocation0> に生成される 3>Class.Player3> キャラクターの時間長、6>Class.ForceField6> は、ForceField9> の Duration がゼロである場合、2>Class.ForceField</
このプロパティのデフォルト値は 10秒です。
期間機能は、開発者が簡単に Players を保護することができます ForceFields これは、プレイヤーにとって frustrating エクスペリエンスになる可能
コードサンプル
This sample will create a neutral SpawnLocation in the Workspace that'll give players spawning a ForceField for 20 seconds.
local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Duration = 20
spawnLocation.Parent = workspace
Enabled
Class.SpawnLocation が有効であるかどうかを設定します。無効なプレイヤーは、SpawnLocation および SpawnLocation.AllowTeamChangeOnTouch 機能を使用できません。
このプロパティは、Players がスポーン時にスポーンされるのを防ぐ最も便利な方法を提供します。
注、SpawnLocation.AllowTeamChangeOnTouch を使用してチームを変更すると、 Class.BasePart.Touched を使用している他のタッチイベントは発動しません。
コードサンプル
The following sample will create a SpawnLocation in the Workspace that will become semi-transparent when it is disabled.
local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Enabled = true
spawnLocation.Parent = workspace
local function onEnabledChanged()
spawnLocation.Transparency = spawnLocation.Enabled and 0 or 0.5
end
spawnLocation:GetPropertyChangedSignal("Enabled"):Connect(onEnabledChanged)
task.wait(5)
spawnLocation.Enabled = false -- transparency = 0.5
Neutral
スポーンが特定のチームと関連しているかどうか。これは、このプロパティを「Player」、または「Team」のいずれかに設定している場合、その上にスポーンできるようになります。
Neutral が false に設定されている場合、Player.TeamColor が SpawnLocation.TeamColor と同等であるプレイヤーのみが SpawnLocation を使用できます。
Class.SpawnLocation.AllowTeamChangeOnTouch が true の場合、Player.Neutral は、スポーンとの接触によりこのプロパティに設定されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
TeamColor
チームカラープロパティは、SpawnLocation が属するチームを設定します。SpawnLocation.Neutral プロパティが偽である場合、スポーンのチームカラーと同じ Players を持つプレイヤーのみがそこでスポーンできます。
Class.SpawnLocation.AllowTeamChangeOnTouch が true の場合、Player.Neutral は、スポーンとの接触によりこのプロパティに設定されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)