ViewportFrame
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
ViewportFrame là một GuiObject hiển thị các đối tượng 3D bên trong giới hạn của nó, cung cấp một cách để hiển thị các đối tượng 3D trong không gian 2D giống như một ScreenGui .Vật phẩm này có những lưu ý sau:
Không có bóng hay hiệu ứng xử lý hình ảnh sau được render.
Enum.Material.Neon và Enum.Material.Glass vật liệu được hiển thị với chất lượng thấp nhất.
Nested GuiObjects không được hỗ trợ.
Mặc định, ánh sáng bên trong một ViewportFrame hành động như thể Lighting.EnvironmentSpecularScale và Lighting.EnvironmentDiffuseScale cả hai đều được đặt thành 0 , vì vậy các thuộc tính phụ thuộc vào các trường như SurfaceAppearance.MetalnessMap có thể trông khác nhau.
Vật này có thể sử dụng một đứa con Sky như một bản đồ khối cho phản chiếu, trong đó chỉ sử dụng sáu Sky tính năng của đối tượng Skybox[…] .Với giả định các thuộc tính này là hợp lệ, ánh sáng bên trong ViewportFrame hành động tương tự như nếu Lighting.EnvironmentSpecularScale và Lighting.EnvironmentDiffuseScale đều được đặt thành 1 .Chi tiết, xem ở đây.
Mẫu mã
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()
Tóm Tắt
Thuộc Tính
Màu sáng được áp dụng cho khu vực bên trong ViewportFrame .
Camera được sử dụng để render các đối tượng con.
Xác định cách hình cửa sổ được hiển thị sẽ được màu hóa.
Xác định độ trong suốt của hình ảnh cửa sổ được hiển thị.
Màu sắc của ánh sáng phát ra.
A Vector3 đại diện cho hướng của nguồn sáng.
Xác định xem yếu tố UI này có chìm nhập hay không.
Xác định điểm nguồn của một GuiObject , so với kích thước tuyệt đối của nó.
Xác định xem có thay đổi kích thước xảy ra dựa trên nội dung con không.
Xác định màu nền GuiObject .
Xác định độ trong suốt của nền và biên giới GuiObject .
Xác định màu của biên giới GuiObject .
Xác định theo cách nào biên giới GuiObject được xếp theo kích thước của nó.
Xác định chiều rộng pixel của biên giới GuiObject .
Xác định xem con cháu GuiObjects bên ngoài giới hạn của một yếu tố GUI cha có nên hiển thị hay không.
Xác định xem chuột của người chơi đang được nhấn chủ động trên GuiObject hay không.
Xác định liệu GuiButton có thể tương tác với nó hay không, hoặc nếu GuiState của GuiObject đang thay đổi hay không.
Kiểm soát thứ tự sắp xếp của GuiObject khi sử dụng với UIGridStyleLayout .
Bộ GuiObject được chọn khi công tắc gamepad được di chuyển xuống dưới.
Bộ GuiObject được chọn khi chọn gamepad bị di chuyển sang bên trái.
Bộ GuiObject được chọn khi chọn gamepad bị di chuyển sang bên phải.
Bộ GuiObject được chọn khi công tắc gamepad được di chuyển lên trên.
Xác định vị trí pixel và vectơ của GuiObject .
Xác định số độ mà GuiObject được xoay.
Xác định xem liệu GuiObject có thể được chọn bởi gamepad hay không.
Thay thế trang trí lựa chọn mặc định được sử dụng cho gamepad.
Thứ tự của GuiObjects được chọn bởi lựa chọn UI gamepad.
Xác định kích thước pixel và phương trình của GuiObject .
Đặt các trục Size mà GuiObject sẽ dựa trên, so với kích thước của cha của nó.
Một tính chất hỗn hợp của BackgroundTransparency và TextTransparency .
Xác định xem GuiObject và con cháu của nó sẽ được hiển thị hay không.
Xác định thứ tự mà một GuiObject render so với những người khác.
Mô tả vị trí màn hình thực của một thành phần GuiBase2d , trong điểm ảnh.
Mô tả sự xoay màn hình thực sự của một thành phần GuiBase2d , trong độ.
Mô tả kích thước màn hình thực của một thành phần GuiBase2d , bằng像素.
Khi được đặt thành true , bản địa hóa sẽ được áp dụng cho GuiBase2d và con cháu của nó.
Một tham chiếu đến một LocalizationTable để được sử dụng để áp dụng lok hóa tự động cho GuiBase2d và con cháu của nó.
Tùy chỉnh hành vi lựa chọn gamepad theo chiều xuống.
Tùy chỉnh hành vi lựa chọn gamepad theo hướng bên trái.
Tùy chỉnh hành vi lựa chọn gamepad theo hướng bên phải.
Tùy chỉnh hành vi lựa chọn gamepad trong hướng lên.
Cho phép tùy chỉnh chuyển động lựa chọn gamepad.
Phương Pháp
Phương Pháp kế thừa từ GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Di chuyển một GUI mượt mà sang một mới UDim2 .
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Di chuyển một GUI mượt mà sang một kích cỡ và vị trí mới.
Sự Kiện
Sự Kiện kế thừa từ GuiObjectBị sa thải khi người dùng bắt đầu tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bị sa thải khi người dùng thay đổi cách họ tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bị sa thả khi người dùng ngừng tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bắt lửa khi người dùng di chuyển con trỏ vào một thành phần GUI.
Bắt lửa khi người dùng di chuyển con trỏ ra khỏi một thành phần GUI.
Bắt lửa mỗi khi người dùng di chuyển con trỏ trong khi nó nằm bên trong thành phần GUI.
Bắt lửa khi người dùng cuộn bánh xe chuột trở lại khi chuột ở trên một thành phần GUI.
Bắt lửa khi một người dùng cuộn bánh xoay chuột của họ về phía trước khi chuột ở trên một thành phần GUI.
Bị sa thả khi GuiObject được tập trung vào với lựa chọn Gamepad.
Bị sa thả khi lựa chọn Gamepad ngừng tập trung vào GuiObject.
Bắt lửa khi người chơi bắt đầu, tiếp tục và dừng việc giữ lâu UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Bắt lửa khi người chơi di chuyển ngón tay trên thành phần UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Bắt lửa khi người chơi thực hiện cử chỉ kéo hoặc kéo bằng hai ngón tay trên thành phần UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Bắt lửa khi người chơi thực hiện cử chỉ xoay bằng hai ngón tay trên thành phần UI.
Bắt lửa khi người chơi thực hiện cử chỉ vuốt trên thành phần UI.
Bắt lửa khi người chơi thực hiện một cử chỉ vuốt trên thành phần UI.
- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Bắt lửa khi lựa chọn gamepad di chuyển đến, rời hoặc thay đổi trong khu vực kết nối GuiBase2d hoặc bất kỳ con trai nào GuiObjects .
Thuộc Tính
Ambient
Thuộc tính này xác định màu sáng được áp dụng cho khu vực bên trong ViewportFrame . Mặc định là
CurrentCamera
Camera ví dụ được sử dụng để render các đối tượng con. Mặc định là nil .
Vật thể Camera không sao chép nên ViewportFrame.CurrentCamera cũng sẽ không sao chép.Khi bạn đặt thuộc tính này, Camera.CFrame và Camera.FieldOfView sẽ được lưu và sao chép với ViewportFrame bên trong để khách hàng có thể hiển thị khung mà không có đối tượng Camera.
ImageColor3
Tính chất này xác định cách hình ảnh cửa sổ được hiển thị sẽ được màu hóa, cho phép bạn thay đổi màu sắc mà không cần thay đổi trực tiếp đối tượng được hiển thị.Giá trị colorization mặc định là
Xem thêm ImageTransparency định nghĩa về độ trong suốt của hình ảnh được hiển thị.
ImageTransparency
Tính chất này xác định độ trong suốt của hình ảnh viewport được hiển thị, cho phép bạn thay đổi độ trong suốt mà không cần thay đổi trực tiếp đối tượng được hiển thị.Một giá trị của 0 (mặc định) hoàn toàn mờ nhạt và một giá trị của 1 hoàn toàn minh bạch (vô hình).
Xem thêm ImageColor3 để xác định cách hình ảnh được hiển thị màu.
LightDirection
Một Vector3 đại diện cho hướng của nguồn sáng từ vị trí