ViewportFrame
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
ViewportFrame adalah GuiObject yang dapat menyajikan 3D objek di dalam batasnya, menawarkan cara untuk menampilkan objek 3D dalam ruang 2D seperti ScreenGui . Objek ini memiliki beberapa batas:
- Tidak ada bayangan atau efek post-processing yang dimuat.
- Enum.Material.Neon dan Enum.Material.Glass materi render dalam kualitas terendah.
- Nested GuiObjects tidak didukung.
- Secara default, penerangan di dalam ViewportFrame bertindak seolah-olah Lighting.EnvironmentSpecularScale dan Lighting.EnvironmentDiffuseScale adalah berdua ditetapkan ke 0, jadi properti yang bergantung pada field ini, seperti 2>Class.Surface2>, mungkin terlihat berbeda.
Contoh Kode
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()
Rangkuman
Properti
Warna penerangan diterapkan ke area dalam ViewportFrame .
Camera yang digunakan untuk menyajikan objek anak.
Menentukan cara gambar yang di render akan di warnai.
Mengukur transparansi gambar yang di render.
Warna cahaya yang dipancarkan.
A Vector3 mewakili arah sumber cahaya.
Mengukur apakah elemen UI ini menyinkronkan input.
Menentukan titik asal dari GuiObject , relatif ke ukurannya yang relatif.
Mengukur apakah resizing terjadi berdasarkan konten anak.
Menentukan warna latar belakang GuiObject .
Mengukur transparansi latar belakang dan batas Class.GuiObject .
Mengubah warna batas GuiObject .
Menentukan cara apa GuiObject batas diletakkan relatif terhadap dimensinya.
Mengukur lebar pixel dari batas GuiObject .
Menentukan apakah turunan GuiObjects di luar batas-batas elemen GUI orang tua harus rendah.
Menentukan apakah mouse pemain diaktif ditekan di GuiObject atau tidak.
Mengesok apakah GuiButton dapat diinteraksikan dengan atau tidak, atau apakah GuiState dari GuiObject berubah atau tidak.
Mengontrol urutan sortiran GuiObject saat digunakan dengan UIGridStyleLayout.
Tetapkan GuiObject yang akan dipilih saat penyeleksi gamepad di geser ke bawah.
Tetapkan GuiObject yang akan dipilih ketika pemilih gamepad di pindahkan ke kiri.
Tetapkan GuiObject yang akan dipilih ketika pemilih gamepad ditempatkan ke kanan.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad digerakkan ke atas.
Mengukur posisi pixel dan skala dari GuiObject .
Mengukur jumlah derajat di mana GuiObject berputar.
Tentukan apakah GUI dapat dipilih oleh gamepad.
Menggeser ornamen pilihan default yang digunakan untuk gamepad.
Urutan dari GuiObjects yang dipilih oleh pemilihan UI gamepad.
Mengukur ukuran pixel dan skala Class.GuiObject .
Tetapkan Size sumbu yang akan diperhitungkan berdasarkan ukuran GuiObject .
Propinsi bercampur dari BackgroundTransparency dan TextTransparency .
Menentukan apakah GuiObject dan nenek moyangnya akan di render.
Mengesepakati urutan di mana GuiObject menyajikan relatif terhadap yang lain.
Menggambarkan posisi layar sebenarnya dari elemen UI, dalam pixel.
Menggambarkan rotasi layar sebenarnya dari elemen UI, dalam derajat.
Menggambarkan ukuran layar sebenarnya dari elemen UI, dalam pixel.
Ketika diatur ke benar, lokalisasi akan diterapkan ke GuiBase2d dan pendahulunya.
Sebuah referensi ke Class.LocalizationTable untuk digunakan untuk menerapkan lokalisasi otomatis ke GuiBase2d dan pendahulunya.
Mengubah perilaku pemilihan gamepad ke arah bawah.
Mengubah perilaku pemilihan gamepad di arah kiri.
Mengubah perilaku pemilihan gamepad ke arah yang benar.
Mengubah perilaku pemilihan gamepad ke arah atas.
Memungkinkan kustomisasi gerakan pemilihan gamepad.
Metode
Metode diwarisi dari GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Dengan mudah pindahkan GUI ke Datatype.UDim2 baru.
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Mendeteksi ukuran GUI secara halus ke ukuran baru UDim2 .
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Dengan mudah pindahkan GUI ke ukuran dan posisi baru.
Acara
Acara diwarisi dari GuiObjectDiaktifkan saat seorang pengguna mulai berinteraksi melalui perangkat Human-Computer Interface (Tombol pemutar, sentuh mulai, tombol keyboard, dll).
Diaktifkan ketika pengguna mengubah cara mereka berinteraksi melalui perangkat Human-Computer Interface (Tombol pengguna, sentuh dimulai, tombol keyboard, dll).
Diaktifkan saat seorang pengguna berhenti berinteraksi melalui perangkat Human-Computer Interface (Tombol pemutar, sentuh dimulai, tombol keyboard, dll).
Mengaktifkan saat pengguna menggerakkan mouse mereka ke elemen GUI.
Mengaktifkan saat pengguna menyesuaikan mouse mereka keluar dari elemen GUI.
Mengaktifkan setiap kali seorang pengguna menggerakkan mouse mereka saat berada di dalam elemen GUI.
Tembak ketika pengguna menggulir roda mouse mereka kembali saat mouse berada di atas elemen GUI.
Menembak ketika seorang pengguna menggulir roda mouse mereka ke depan ketika mouse berada di atas elemen GUI.
Diaktifkan saat GuiObject fokus dengan Gamepad selektor.
Diaktifkan saat Gamepad selektor berhenti fokus pada GuiObject.
Berdasarkan ketika pemain memulai, lanjutkan dan berhenti menggunakan elemen UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Dibakar saat pemain menyeret jari mereka di elemen UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Menembak ketika pemain melakukan gerakan gesek atau tarikan menggunakan dua jari pada elemen UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Dibakar saat pemain melakukan gerakan rotasi menggunakan dua jari di elemen UI.
Dibakar saat pemain melakukan gerakan geser di elemen UI.
Dibakar saat pemain melakukan gerakan gesek pada elemen UI.
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Dibakar saat pemilihan gamepad bergerak ke, pergi, atau berganti di dalam GuiBase2d atau GuiObjek Descendant apa pun.
Properti
Ambient
プロパティ ini menentukan warna penerangan yang diterapkan ke area dalam ViewportFrame . Standar untuk Color3.fromRGB(200, 200, 200) (ghost grey) .
CurrentCamera
Camera instansi yang digunakan untuk menyajikan objek anak. Standar ke nil .
Objek Camera tidak mengkloning jadi ViewportFrame.CurrentCamera tidak akan mengkloning juga. Saat Anda menetapkan property ini, Camera.CFrame dan 1> Class.Camera.FieldOfView</
ImageColor3
Item ini menentukan cara gambar yang di render akan di warnai, sehingga Anda dapat mengubah warna gambar tanpa langsung mengubah objek render.Nilai warna pengubah default adalah Color3.new(1, 1, 1) (putih) di mana tidak ada perubahan warna yang terjadi.
Lihat juga ImageTransparency yang menentukan transparansi gambar yang dihasilkan.
ImageTransparency
Item ini menentukan transparansi gambar yang di render, memungkinkan Anda untuk mengubah transparansi gambar tanpa langsung mengubah objek render.Nilai 0 (默认) adalah benar-benar opak dan nilai 1 benar-benar transparan (tidak terlihat).
Lihat juga ImageColor3 yang menentukan cara gambar yang di render akan di warnai.
LightDirection
Sebuah Vector3 mewakili arah cahaya dari posisi Vector3.new(0, 0, 0) . Standar untuk Vector3.new(-1, -1, -1) .