ViewportFrame
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ViewportFrame เป็น GuiObject ที่สามารถเรนเดอร์วัตถุ 3D ภายในขอบเขตของมันได้นำเสนอวิธีการแสดงวัตถุ 3D ในพื้นที่ 2D เช่น ScreenGui นี้ มีข้อจำกัดต่อไปนี้:
- ไม่มีเงาหรือ post-processing เอฟเฟกต์
- Enum.Material.Neon และ Enum.Material.Glass วัสดุจะเรนเดอร์ในคุณภาพต่ำสุด
- Class.GuiObject|GuiObjects ถูกนำออก
- ตามปกติการจุดไฟภายใน ViewportFrame จะทำงานเหมือน Lighting.EnvironmentSpecularScale และ Lighting.EnvironmentDiffuseScale ตั้งค่าทั้งสองจะตั้งค่าไว้ที่ 0 ดังนั้นโ
- วัตถุนี้สามารถใช้ลูก Sky เป็นลูกล้อสำหรับการสะท้อนแสงในกรณ
ตัวอย่างโค้ด
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
local viewportFrame = Instance.new("ViewportFrame")
viewportFrame.Size = UDim2.new(0.3, 0, 0.4, 0)
viewportFrame.Position = UDim2.new(0, 15, 0, 15)
viewportFrame.BackgroundColor3 = Color3.new(0, 0, 0)
viewportFrame.BorderColor3 = Color3.new(0.6, 0.5, 0.4)
viewportFrame.BorderSizePixel = 2
viewportFrame.BackgroundTransparency = 0.25
viewportFrame.Parent = screenGui
local part = Instance.new("Part")
part.Material = Enum.Material.Concrete
part.Color = Color3.new(0.25, 0.75, 1)
part.Position = Vector3.new(0, 0, 0)
part.Parent = viewportFrame
local viewportCamera = Instance.new("Camera")
viewportFrame.CurrentCamera = viewportCamera
viewportCamera.Parent = viewportFrame
viewportCamera.CFrame = CFrame.new(Vector3.new(0, 2, 12), part.Position)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
local TweenService = game:GetService("TweenService")
local viewportFrame = Instance.new("ViewportFrame")
viewportFrame.Size = UDim2.new(0.3, 0, 0.4, 0)
viewportFrame.Position = UDim2.new(0, 15, 0, 15)
viewportFrame.BackgroundColor3 = Color3.new(0, 0, 0)
viewportFrame.BorderColor3 = Color3.new(0.6, 0.5, 0.4)
viewportFrame.BorderSizePixel = 2
viewportFrame.BackgroundTransparency = 0.25
viewportFrame.Parent = screenGui
local part = Instance.new("Part")
part.Material = Enum.Material.Concrete
part.Color = Color3.new(0.25, 0.75, 1)
part.Position = Vector3.new(0, 0, 0)
part.Parent = viewportFrame
local viewportCamera = Instance.new("Camera")
viewportFrame.CurrentCamera = viewportCamera
viewportCamera.Parent = viewportFrame
viewportCamera.CFrame = CFrame.new(Vector3.new(0, 2, 12), part.Position)
task.wait(2)
local cameraGoal = {
CFrame = CFrame.new(Vector3.new(0, 6, 4), part.Position),
}
local tweenInfo = TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween = TweenService:Create(viewportCamera, tweenInfo, cameraGoal)
tween:Play()
สรุป
คุณสมบัติ
สีแสงที่ใช้สำหรับพื้นที่ภายใน ViewportFrame
Camera ที่ใช้เพื่อเรนเดอร์วัตถุเด็ก
กำหนดวิธีการที่ภาพที่เรนเดอร์จะสี
กำหนดความโปร่งใสของรูปภาพที่เรนเดอร์
สีของแสงที่ปล่อย
A Vector3 แหล่งที่มา
กำหนดว่ารูปแบบนี้สามารถรับข้อมูลการป้อนของผู้ใช้ได้หรือไม่
กำหนดจุดเริ่มต้นของ GuiObject สัมพันธ์กับขนาดอันตามตัวเลข
กำหนดว่าจะมีการปรับขนาดหรือไม่ขึ้นอยู่กับเนื้อหาของลูก
กำหนดสีพื้นหลัง GuiObject
กำหนดความโปร่งใสของพื้นหลังและขอบเขตของ GuiObject
กำหนดสีของขอบ GuiObject
กำหนดวิธีการที่ GuiObject ขอบเขตถูกวางโดยเฉลี่ยกับขนาดของมัน
กำหนดความกว้างของพิกเซลของ GuiObject รอบ
กำหนดว่าควรเรนเดอร์หรือไม่ GuiObjects ภายนอกขอบเขตของรูปปั้น GUI ระดับพ่อของคุณ
กำหนดว่าผู้เล่นกดเมาส์บน GuiObject หรือไม่
กำหนดว่า GuiButton สามารถใช้งานได้หรือไม่ หรือว่า GuiState ของ GuiObject กําลังเปลี่ยนแปลงหรือไม่
ควบคุมลำดับการเรียงลำดับของ GuiObject เมื่อใช้กับ UIGridStyleLayout
ตั้งค่า GuiObject ซึ่งจะได้รับการเลือกเมื่อเครื่องยนต์ผู้ควบคุมเลื่อนลง
ตั้งค่า GuiObject ซึ่งจะถูกเลือกเมื่อเครื่องยนต์เลื่อนซ้าย
ตั้งค่า GuiObject ซึ่งจะถูกเลือกเมื่อเครื่องยนต์เลื่อนไปทางขวา
ตั้งค่า GuiObject ซึ่งจะถูกเลือกเมื่อเครื่องยนต์เลื่อนขึ้น
กำหนดตำแหน่งพิกเซลและตำแหน่งเศษเส้นของ GuiObject
กำหนดจำนวนองศาที่ GuiObject หมุน
กำหนดว่า GUI สามารถเลือกได้โดย gamepad หรือไม่
เปลี่ยนแปลงการตกแต่งการเลือกที่ใช้สำหรับแพดพันเกม
ลำดับของ GuiObjects ที่เลือกโดย UI เกมแพด.
กำหนดขนาดพิกเซลและขนาดพิกเซลของ GuiObject
ตั้งค่า Size แกนที่ Class.GuiObject จะสร้างบน, สัมพันธ์กับขนาดของพ่อของมัน.
สมบัติสัมพันธ์ผสมของ BackgroundTransparency และ TextTransparency
กำหนดว่า GuiObject และบุตรหลานของมันจะถูกเรนเดอร์หรือไม่
กำหนดลำดับที่เรนเดอร์ GuiObject เมื่อเป็นคู่กับคนอื่น
อธิบายตำแหน่งหน้าจอที่เป็นไปเลยของรายการ UI ในพิกเซล
อธิบายการหมุนเวียนหน้าจริงของ UI โดยองศา
อธิบายขนาดหน้าจอที่เป็นไปจริงของรายการ UI
เมื่อตั้งค่าเป็น true จะใช้การแปลภาษาใน GuiBase2d และลูกหลานของมัน
การอ้างอิงถึง LocalizationTable ที่จะใช้ในการประยุกต์การแปลอัตโนมัติสู่ GuiBase2d และลูกหลานของมัน
ปรับแต่งพฤติกรรมการเลือกแพดพักในแนวลง
ปรับแต่งพฤติกรรมการเลือกแพดพานเกมในแนวโน้มทางซ้าย
ปรับแต่งพฤติกรรมการเลือกแพดพักเกมในทิศทางที่ถูกต้อง
ปรับแต่งพฤติกรรมการเลือกแพดพักในแนวตั้งขึ้น
ช่วยให้คุณสามารถปรับแต่งการเคลื่อนไหวของแผงควบคุมเกม
วิธีการ
วิธีการรับทอดมาจากGuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
ย้าย GUI ไปยัง Datatype.UDim2 ใหม่อย่างราบรื่น
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
ปรับขนาด GUI ให้เล็กลงเป็น UDim2 ใหม่
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
ย้าย GUI ไปยังขนาดและตำแหน่งใหม่อย่างราบรื่น
อีเวนต์
อีเวนต์รับทอดมาจากGuiObjectเกิดขึ้นเมื่อผู้ใช้เริ่มต้นใช้งานผ่านอุปกรณ์ระหว่างมนุษย์-คอมพิวเตอร์ (ปุ่มเมาส์ลง, แตะเริ่ม, ปุ่มคีย์บอร์ดลง, ฯลฯ)
ไฟร์เมื่อผู้ใช้เปลี่ยนวิธีการโต้ตอบผ่านอุปกรณ์ระหว่างมนุษย์-คอมพิวเตอร์ (ปุ่มเมาส์ลง, แตะเริ่ม, ปุ่มกล้อง, ฯลฯ)
ไฟร์เมื่อผู้ใช้หยุดใช้งานผ่านอุปกรณ์ระหว่างมนุษย์-คอมพิวเตอร์ (ปุ่มเมาส์ลง, แตะเริ่ม, ปุ่มคีย์บอร์ดลง, ฯลฯ)
จะเกิดขึ้นเมื่อผู้ใช้ย้ายเมาส์ไปที่องค์ประกอบ GUI
จะเกิดขึ้นเมื่อผู้ใช้ย้ายเมาส์ออกจากส่วน GUI
การเพิ่มเติมเมื่อผู้ใช้เคลื่อนเมาส์ไปยัง GUI เมื่ออยู่ภายในส่วนหนึ่งของ GUI
จะเกิดขึ้นเมื่อผู้ใช้เลื่อนเมาส์กลับเมื่อเมาส์อยู่เหนือ GUI เอเจนต์
จะเกิดขึ้นเมื่อผู้ใช้เลื่อนเมาส์ไปข้างหน้าเมื่อเมาส์อยู่เหนือรายการ GUI
จุดเกิดเหตุเมื่อ GuiObject ได้รับการโฟกัสด้วย Gamepad ตัวเลือก
ไฟร์เมื่อ Gamepad เลือกเปลี่ยนโฟกัสไปที่ GuiObject
เกิดขึ้นเมื่อผู้เล่นเริ่มต้น ดำเนินการต่อและหยุดการกด UI เป็นเวลานาน
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
เกิดขึ้นเมื่อผู้เล่นยกนิ้วของพวกเขาบนองค์ประกอบ UI
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
เปิดเมื่อผู้เล่นทำการเลื่อนหรือดึงด้วยนิ้วสองนิ้วบน UI
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
เกิดขึ้นเมื่อผู้เล่นทำการหมุนโดยใช้นิ้วสองนิ้วบนรูปปั้น
เกิดขึ้นเมื่อผู้เล่นทำการเลื่อนสไนเปอร์บนองค์ประกอบ UI
เกิดขึ้นเมื่อผู้เล่นทำการเลื่อนสายตาในส่วน UI
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
เกิดขึ้นเมื่อเลือกแผงควบคุมเกมเคลื่อนไปยัง, ออกหรือเปลี่ยนแปลงใน GuiBase2d หรือ GuiObjects ต้นได้
คุณสมบัติ
Ambient
สมบัตินี้กำหนดสีแสงที่ใช้สำหรับพื้นที่ภายใน ViewportFrame สมบัติเริ่มต้นจะเป็นสี Color3.fromRGB(200, 200, 200) (สีพี่น้อง) สีของโรงงาน
CurrentCamera
Camera ตัวอย่างที่ใช้เพื่อเรนเดอร์วัตถุเด็ก ปกติจะเป็น nil
วัตถุ Camera ไม่เคยเลียนแบบดังนั้นจึงไม่เคยเลียนแบบ ViewportFrame.CurrentCamera เช่นกัน เมื่อคุณตั้ง
ImageColor3
สมบัตินี้กำหนดวิธีการที่รูปภาพจะถูกสีขึ้น, ให้คุณสามารถเปลี่ยนสีรูปภาพโดยไม่ต้องเปลี่ยนสีตัวอักษรโดยตรง สีการสีของค่าเริ่มต้นคือ Color3.new(1, 1, 1) (สีขาว
ดูเพิ่มเติม ImageTransparency ซึ่งกำหนดความโปร่งใสของรูปภาพที่เรนเดอร์
ImageTransparency
สมบัตินี้กำหนดความโปร่งใสของรูปภาพที่เรนเดอร์โดยให้คุณสามารถเปลี่ยนความโปร่งใสของรูปภาพโดยไม่ต้องแก้ไขรูปภาพโดยตรง มีค่า 0 (ปกติ) เป็นสมบัติที่เป็นอุโมกะและมีค่า 1 (ใส่ใจ) เป็นสมบั
ดูเพิ่มเติม ImageColor3 ซึ่งกำหนดวิธีการที่ภาพที่เรนเดอร์จะสี
LightDirection
A Vector3 ที่แทนที่ทิศทางของแหล่งไฟจากตำแหน่ง Vector3.new(0, 0, 0) ค่าเริ่มต้นสู่ Vector3.new(-1, -1, -1)