ViewportFrame
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
ViewportFrame jest GuiObject , które może renderować obiekty 3D w jego granicach, oferując sposób na wyświetlenie obiektów 3D w przestrzeni 2D, takiej jak ScreenGui. Ten obiekt ma następujące ograniczenia:
- Żadne cienie lub efekty post-processingowe nie są renderowane.
- Enum.Material.Neon i Enum.Material.Glass materiały renderują się w najniższej jakości.
- Zagnążdżone GuiObjects nie są wspierane.
- Domyślnie oświetlenie w ViewportFrame działa tak, jakby Lighting.EnvironmentSpecularScale i Lighting.EnvironmentDiffuseScale były ustawione na 0, więc właściwości, które zależą od tych poli, takie jak 1> Class.Surface1>, mogą wyglądać inaczej.
Przykłady kodu
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()
Podsumowanie
Właściwości
Kolor oświetlenia zastosowany do obszaru w ViewportFrame .
Camera używany do renderowania obiektów dzieci.
Określa, jak kolorowana będzie renderowana obraz.
Określa przejrzystość renderowanego obrazu.
Kolor promieniowania.
A Vector3 reprezentujący kierunek kod źródłowyświatła.
Określa, czy ten element interfejsu wchłania wejście.
Określa punkt pochodzenia GuiObject względem jego wielkości absolutnej.
Określa, czy zmiana rozmiaru następuje w oparciu o treści dziecka.
Określa kolor tła GuiObject .
Określa przejrzystość tła GuiObject i ramy.
Określa kolor GuiObject granicy.
Określa sposób, w jaki GuiObject granica jest rozdzielana w stosunku do jej wymiarów.
Określa szerokość piksela GuiObject granicy.
Określa, czy potomstwo GuiObjects poza granicami elementu GUI rodzica powinno się renderować.
Określa, czy mikser gracza jest aktywnie naciskany na GuiObject lub nie.
Określa, czy GuiButton może być zainterakcjonowany z lub nie, lub czy GuiState z GuiObject zmienia się lub nie.
Kontroluje kolejność sortowania GuiObject z użyciem UIGridStyleLayout.
Ustawia GuiObject, który zostanie wybrany, gdy selektor gamepad zostanie przesunięty w dół.
Ustawia GuiObject, który zostanie wybrany, gdy selektor gamepad'a zostanie przeniesiony do lewej.
Ustawia GuiObject, który zostanie wybrany, gdy selektor gamepad'a zostanie przesunięty do prawej.
Ustawia GuiObject, który zostanie wybrany, gdy selektor gamepad'a zostanie przesunięty w górę.
Określa pozycję piksela i skalary GuiObject .
Określa liczbę stopni, w których obrócony jest GuiObject.
Określ, czy GUI może być wybrany przez gamepad.
Przywraca używany na płytach gier standardowy wzór wyboru.
Sortowanie GuiObjects wybrane przez interfejs wyboru gamepad'a.
Określa rozmiar piksela i skalary Class.GuiObject .
Ustawia Size osi, na których będzie opierać się GuiObject w odniesieniu do rozmiarów jego ojca.
Mieszana własność BackgroundTransparency i TextTransparency .
Określa, czy GuiObject i jego potomstwo zostaną renderowane.
Określa porządek, w jakim GuiObject renderuje w stosunku do innych.
Opisuje rzeczywistą pozycję ekranu elementu UI, w pikselach.
Opisuje rzeczywistą rotację ekranu elementu UI, w stopniach.
Opisuje rzeczywisty rozmiar ekranu elementu UI, w pikselach.
Ustawione na prawdę, lokalizacja zostanie zastosowana do tego GuiBase2d i jego potomnych.
Odnośnik do LocalizationTable używany do zastosowania automatycznej lokalizacji do tego GuiBase2d i jego potomnych.
Dostosowuje zachowanie wyboru gry w dół.
Dostosuj zachowanie selekcji sterowania w lewym kierunku.
Dostosuj zachowanie selekcji gry w odpowiednim kierunku.
Dostosowuje zachowanie wyboru gry w górę.
Umożliwia dostosowanie ruchu wyboru gry.
Metody
Metody odziedziczeni z: GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Płynnie przesuwa GUI do nowego UDim2 .
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Płynnie skala GUI do nowego UDim2 .
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Smoothly przesuwa GUI do nowego rozmiaru i pozycji.
Zdarzenia
Zdarzenia odziedziczeni z: GuiObjectWystrzelony, gdy użytkownik zacznie interagować za pośrednictwem urządzenia interfejsu człowiek-komputer (przycisk myszy, dotknięcie początku, klawiatura do klawiatury, itp).
Wystrzelony, gdy użytkownik zmienia sposób interakcji za pośrednictwem urządzenia interfejsu człowiek-komputer (przycisk myszy, dotknięcie początku, klawiatura do klawiatury, itp).
Wystąpił problem, gdy użytkownik przestał interagować za pośrednictwem urządzenia interfejsu człowiek-komputer (przycisk myszy, dotknięcie początku, klawiatura, itp).
Wystrzela, gdy użytkownik przesuwa myszkę do elementu GUI.
Wystrzela, gdy użytkownik porusza myszką poza elementem GUI.
Wystrzela, gdy użytkownik porusza myszką, gdy jest w środku elementu GUI.
Wystrzela, gdy użytkownik przesuwa myszką z powrotem, gdy myszka jest nad elementem GUI.
Wystrzela, gdy użytkownik przesuwa myszką do przodu, gdy myszka jest nad elementem GUI.
Wystrzelony, gdy GuiObject jest skupiony na z wyborem Gamepad.
Wystrzelony, gdy selektor Gamepad przestał skupiać się na GuiObject.
Wystąpi, gdy gracz rozpocznie, będzie kontynuował i zatrzyma długo naciskał element UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Wystrzela, gdy gracz porusza palcem po obszarze UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Wystrzela, gdy gracz wykonuje ruch pociągnięcia lub pociągnięcia za pomocą dwóch palców na elementze UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Wystąpi, gdy gracz wykonuje rotacyjny gest używając dwóch palców na elementze UI.
Wystąpi, gdy gracz wykonuje gest swipe'u na element UI.
Wystąpi, gdy gracz wykonuje gest tap na element UI.
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Występuje, gdy selekcja gamepad'a przesuwa się do, wychodzi lub zmienia w ciągu połączonego GuiBase2d lub dowolnego potomnego GuiObjects.
Właściwości
Ambient
To właściwość określa kolor oświetlenia stosowany do obszaru w ViewportFrame . Domyślne kolory do Color3.fromRGB(200, 200, 200) (dymny szary).
CurrentCamera
Camera używana do renderowania obiektów dzieci. Domyślnie ustawiony na nil .
Obiekt Camera nie replikuje się, więc obiekt ViewportFrame.CurrentCamera również nie będzie się replikować. Gdy ustawisz tę właściwość, Camera.CFrame i 2>Class.Camera.FieldOfView
ImageColor3
Ten właściwość określa, jak kolorowana będzie renderowana obraz, pozwalając na zmianę koloru obrazu bez bezpośredniego zmieniania obiektu renderowanego. Domyślną wartość kolorowania jest Color3.new(1, 1, 1) (nan), przy czym żadna zmiana koloru nie następuje.
Zobacz również ImageTransparency , który określa przejrzystość renderowanego obrazu.
ImageTransparency
Ta właściwość określa przejrzystość renderowanego obrazu, umożliwiając zmianę przejrzystości obrazu bez bezpośredniego zmodyfikowania obiektu renderowanego. Wartość 0 (domyślna) jest całkowicie nieprzezroczysta, a wartość 1 jest całkowicie przejrzysta (niewidoczna).
Zobacz również ImageColor3, który określa, jak kolorowana będzie renderowana obraz.
LightDirection
A Vector3 reprezentujący kierunek źródła światła z pozycji Vector3.new(0, 0, 0) . Domyślne do Vector3.new(-1, -1, -1) .