Vector3Value
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
Vector3Value เพียงแค่ถือ Vector3 เป็นค่า ค่านี้สามารถใช้สำหรับสคริปต์เพื่อสื่อสาร, เพื่อให้วัตถุย้ายไปยังตำแหน่งที่กําหนดไว้ ฯลฯ
ตัวอย่างโค้ด
ตัวอย่างโค้ดนี้ทำให้ชิ้นส่วนเทเลพอร์ตผู้เล่นที่สัมผัสมันไปยังตำแหน่งที่กำหนดโดย "TeleportPosition" Vector3Value
-- วางฉันในสคริปต์ภายในส่วน
local part = script.Parent
local teleportPosition = part.TeleportPosition
local function onTouch(otherPart)
-- แรก, ค้นหา HumanoidRootPart หากเราไม่สามารถหาได้, ออก
local hrp = otherPart.Parent:FindFirstChild("HumanoidRootPart")
if not hrp then
return
end
-- ตอนนี้เทเลพอร์ตโดยการตั้ง CFrame เป็นหนึ่งที่สร้างขึ้นจาก
-- ตําแหน่งเทเลพอร์ตที่เก็บไว้
hrp.CFrame = CFrame.new(teleportPosition.Value)
end
part.Touched:Connect(onTouch)
This code sample demonstrates how it is possible to store a Vector2 within a Vector3Value by converting a Vector2 into a Vector3 with a dummy Z value. Similarly, you can load it by reconstructing the Vector2 from the X and Y axes.
local vector3Value = Instance.new("Vector3Value")
-- Store a Vector2 in a Vector3
local vector2 = Vector2.new(42, 70)
vector3Value.Value = Vector3.new(vector2.X, vector2.Y, 0) -- The Z value is ignored
-- Load a Vector2 from a Vector3
vector2 = Vector2.new(vector3Value.Value.X, vector3Value.Value.Y)
print(vector2)
คุณสมบัติ
วิธีการ
อีเวนต์
Changed
ยิงเมื่อใดก็ตามที่ Vector3Value.Value ของ Vector3Value เปลี่ยนแปลงจะทำงานร่วมกับค่าใหม่ที่ถูกเก็บไว้ในวัตถุอาร์กิวเมนต์แทนที่จะเป็นสตริงที่แทนที่คุณสมบัติที่เปลี่ยนแปลง
อีเวนต์นี้ เช่นเหตุการณ์อื่นที่เปลี่ยนแปลงไป สามารถใช้เพื่อติดตามเมื่อมีการเปลี่ยนแปลงของ Vector3Value และติดตามมูลค่าที่แตกต่างที่อาจเปลี่ยนไป
อินสแตนซ์Vector3Values ในการติดตามตำแหน่งในโลกเกม
อีเวนต์ที่เปลี่ยนไปเทียบเท่าสำหรับวัตถุที่คล้ายกันมีอยู่ เช่น NumberValue และ StringValue ขึ้นอยู่กับประเภทวัตถุที่เหมาะสมที่สุดต่อความต้องการ
พารามิเตอร์
ค่าใหม่หลังการเปลี่ยนแปลง
ตัวอย่างโค้ด
ตัวอย่างด้านล่างนี้, โดยสมมติว่าวัตถุที่อ้างอิงทั้งหมดมีอยู่, จะพิมพ์ค่าใหม่ของ Vector3Value ทุกครั้งที่มันเปลี่ยนแปลงในตัวอย่างด้านล่างจะพิมพ์ "10,10,10"
local value = Instance.new("Vector3Value")
value.Parent = workspace
value.Changed:Connect(function(NewValue)
print(NewValue)
end)
value.Value = Vector3.new(10, 10, 10)