ImageButton
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Sebuah ImageButton berperilaku serupa dengan sebuah ImageLabel dalam hal penyajian, dengan perilaku tambahan dari sebuah GuiButton .
Rangkuman
Properti
ID teksur yang akan digunakan saat ImageButton di-hover.
Konten gambar yang ditampilkan oleh elemen ImageButton. Dibaca dan ditulis ke ImageContent.
Menentukan bagaimana gambar yang dirender akan diwarnai.
Konten gambar yang ditampilkan oleh elemen UI. Mendukung URI aset dan EditableImage objek.
Offset dalam piksel dari sub-area gambar yang akan ditampilkan.
Menentukan ukuran dalam piksel dari sub-area gambar yang akan ditampilkan.
Menentukan transparansi gambar yang drender.
Menunjukkan apakah Gambar telah selesai dimuat dari situs web Roblox.
ID teksur yang akan digunakan saat ImageButton ditekan.
Memilih mode resampling gambar untuk tombol.
Menentukan bagaimana gambar akan diperbesar jika ditampilkan di elemen UI yang ukurannya berbeda dari gambar sumber.
Tetapkan batas potongan dari gambar yang dipotong 9.
Skala ujung 9 bagian dengan rasio yang ditentukan.
Tetapkan skala ubin dari Tombol Gambar.
Menentukan apakah tombol secara otomatis berubah warna saat mouse mengarah ke atau mengkliknya.
Sebuah instansi HapticEffect yang akan dimainkan saat GuiButton di-hover.
Jika true saat elemen GUI terlihat, mouse tidak akan dikunci kecuali tombol mouse kanan turun.
Sebuah instansi HapticEffect yang akan dimainkan saat GuiButton ditekan.
Properti boolean yang menunjukkan apakah objek telah dipilih.
Mengatur gaya dari GuiButton berdasarkan daftar gaya yang telah ditentukan sebelumnya.
Menentukan apakah elemen UI ini menenggelamkan input.
Menentukan titik asal dari GuiObject , relatif terhadap ukuran absolutnya.
Menentukan apakah penyesuaian ulang terjadi berdasarkan konten anak.
Menentukan warna latar belakang GuiObject.
Menentukan transparansi latar belakang dan border GuiObject .
Menentukan warna border GuiObject .
Menentukan dengan cara apa perbatasan GuiObject diletakkan relatif terhadap dimensinya.
Menentukan lebar piksel dari batas GuiObject .
Menentukan apakah keturunan GuiObjects di luar batas elemen GUI orangtua harus ditampilkan.
Menentukan apakah mouse pemain ditekan secara aktif di GuiObject atau tidak.
Menentukan apakah GuiButton dapat berinteraksi atau tidak, atau apakah GuiState dari GuiObject berubah atau tidak.
Mengontrol urutan sortir dari GuiObject ketika digunakan dengan UIGridStyleLayout .
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke bawah.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke kiri.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke kanan.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke atas.
Menentukan posisi piksel dan skalar dari GuiObject .
Menentukan jumlah derajat di mana GuiObject diputar.
Tentukan apakah GuiObject dapat dipilih oleh gamepad.
Menggantikan dekorasi seleksi default yang digunakan untuk gamepad.
Pesanan dari GuiObjects dipilih oleh pilihan UI gamepad.
Menentukan ukuran piksel dan skala dari GuiObject .
Mengatur sumbu yang akan didasarkan pada, relatif terhadap ukuran orang tuanya.
Properti campuran dari BackgroundTransparency dan TextTransparency.
Menentukan apakah GuiObject dan keturunannya akan ditampilkan.
Menentukan urutan di mana sebuah GuiObject ditampilkan relatif terhadap yang lain.
Menggambarkan posisi layar aktual dari elemen GuiBase2d , dalam piksel.
Menggambarkan rotasi layar aktual dari elemen GuiBase2d , dalam derajat.
Menggambarkan ukuran layar aktual dari elemen GuiBase2d , dalam piksel.
Ketika diatur ke true , lokalisasi akan diterapkan ke GuiBase2d dan keturunannnya.
Referensi ke LocalizationTable untuk digunakan untuk menerapkan lokalisasi otomatis ke GuiBase2d dan keturunannnya.
Sesuaikan perilaku pemilihan gamepad dalam arah turun.
Sesuaikan perilaku pemilihan gamepad di arah kiri.
Sesuaikan perilaku pemilihan gamepad di arah yang benar.
Sesuaikan perilaku pemilihan gamepad dalam arah atas.
Memungkinkan kustomisasi gerakan seleksi gamepad.
Metode
Metode diwarisi dari GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Dengan lancar memindahkan GUI ke baru 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
Dengan lancar memindahkan GUI ke ukuran dan posisi baru.
Acara
Acara diwarisi dari GuiButtonMelepaskan api saat tombol diaktifkan.
Memicu ketika mouse pengguna sepenuhnya menekan klik GuiButton .
Melepaskan api saat pengguna menekan tombol mouse kiri mereka ke bawah pada GuiButton.
Melepaskan api saat pengguna melepaskan tombol mouse kiri mereka dari GuiButton .
Memicu ketika mouse pengguna sepenuhnya mengklik kanan pada GuiButton .
Melepaskan api saat pengguna menekan tombol mouse kanan mereka ke bawah pada GuiButton.
Melepaskan api saat pengguna melepaskan tombol mouse kanan mereka dari GuiButton .
Ditembak ketika pengguna mulai berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Ditembak ketika pengguna mengubah cara mereka berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Ditembak ketika pengguna berhenti berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Melepaskan api saat pengguna memindahkan mouse ke elemen GUI.
Melepaskan api saat pengguna memindahkan mouse mereka keluar dari elemen GUI.
Melepaskan api setiap kali pengguna memindahkan mouse saat berada di dalam elemen GUI.
Melepaskan api saat pengguna menggulir roda mouse kembali saat mouse berada di atas elemen GUI.
Melepaskan api saat pengguna menggulir roda mouse ke depan saat mouse berada di atas elemen GUI.
Ditembak ketika GuiObject difokuskan dengan pemilih Gamepad.
Ditembak ketika pemilih Gamepad berhenti fokus pada GuiObject.
Melepaskan api saat pemain mulai, melanjutkan dan berhenti menekan tombol UI dalam waktu lama.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain menggerakkan jari mereka di elemen UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain melakukan gerakan pinch atau pull menggunakan dua jari di elemen UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain melakukan gerakan rotasi menggunakan dua jari di elemen UI.
Melepaskan api saat pemain melakukan gerakan geser pada elemen UI.
Melepaskan api saat pemain melakukan gerakan geser di elemen UI.
- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Memicu ketika pemilihan gamepad bergerak ke, meninggalkan, atau berubah di dalam terhubung GuiBase2d atau keturunan mana pun GuiObjects .
Properti
HoverImageContent
Image
Properti ini adalah properti jenis konten yang harus menyimpan ID aset decal atau gambar yang diunggah ke Roblox.Ini berfungsi persis sama dengan Decal.Texture terkait dengan memuat gambar dari Roblox.Gambar yang drender akan diwarnai menggunakan ImageColor3 .
Perhatikan bahwa dimungkinkan untuk menampilkan gambar sebagai ubin, diukur untuk sesuai, atau dipotong menjadi 9 bagian dengan menyesuaikan properti ScaleType.
Contoh Kode
This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.
local imageLabel = script.Parent
-- The images in this example are 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Unlocked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Dark green
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Locked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Dark red
end
-- Connect events; our default state is locked
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()
ImageColor3
Properti ini menentukan bagaimana sebuah gambar diwarnai.Ketika diatur ke putih, tidak ada kolorisasi terjadi.Properti ini sangat berguna untuk menggunakan kembali aset gambar: Jika gambar sumber benar-benar putih dengan transparansi, Anda dapat mengatur seluruh warna gambar sekaligus dengan properti ini.
Contoh Kode
This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.
local imageLabel = script.Parent
-- The images in this example are 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Unlocked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Dark green
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Locked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Dark red
end
-- Connect events; our default state is locked
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()
ImageContent
Properti ini harus menyimpan URI aset atau referensi ke objek EditableImage. URI aset dapat merujuk pada decal atau gambar yang diunggah ke Roblox.Ini berfungsi persis sama dengan Decal.Texture terkait dengan memuat gambar.
Gambar yang drender akan diwarnai menggunakan ImageColor3 .Dimungkinkan untuk menampilkan gambar sebagai terpisah, diukur untuk sesuai, atau dipotong menjadi 9 bagian dengan menyesuaikan properti ScaleType.
ImageRectOffset
Properti ini menentukan offset piksel (dari kiri atas) dari area gambar yang akan ditampilkan, memungkinkan tampilan parsial dari gambar bersama dengan ImageRectSize.
Contoh Kode
This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch
-- Place this in an ImageLabel/ImageButton with size 256x256
local imageLabel = script.Parent
-- The following image is 1024x1024 with 12 frames (256x256)
-- The frames play an animation of a man throwing a punch
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- The order of the frames to be displayed (left-to-right, then top-to-bottom)
local frames = {
Vector2.new(0, 0),
Vector2.new(1, 0),
Vector2.new(2, 0),
Vector2.new(3, 0),
Vector2.new(0, 1),
Vector2.new(1, 1),
Vector2.new(2, 1),
Vector2.new(3, 1),
Vector2.new(0, 2),
Vector2.new(1, 2),
Vector2.new(2, 2),
Vector2.new(3, 2),
}
-- Animate the frames one at a time in a loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end
ImageRectSize
Properti ini menentukan ukuran piksel dari area gambar yang akan ditampilkan, memungkinkan tampilan parsial dari gambar bersama dengan ImageRectOffset.Jika dimensi mana pun ditetapkan ke 0, seluruh gambar ditampilkan sebagai gantinya.
Contoh Kode
This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch
-- Place this in an ImageLabel/ImageButton with size 256x256
local imageLabel = script.Parent
-- The following image is 1024x1024 with 12 frames (256x256)
-- The frames play an animation of a man throwing a punch
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- The order of the frames to be displayed (left-to-right, then top-to-bottom)
local frames = {
Vector2.new(0, 0),
Vector2.new(1, 0),
Vector2.new(2, 0),
Vector2.new(3, 0),
Vector2.new(0, 1),
Vector2.new(1, 1),
Vector2.new(2, 1),
Vector2.new(3, 1),
Vector2.new(0, 2),
Vector2.new(1, 2),
Vector2.new(2, 2),
Vector2.new(3, 2),
}
-- Animate the frames one at a time in a loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end
ImageTransparency
Properti ini menentukan alfa dari gambar yang ditampilkan elemen.Nilai 0 adalah benar-benar opak dan nilai 1 adalah benar-benar transparan (tidak terlihat).Properti ini berperilaku serupa dengan GuiObject.BackgroundTransparency atau BasePart.Transparency .
Jika Anda menonaktifkan rendering gambar dengan mengatur ImageTransparency ke 1, itu akan menghasilkan bilangan persegi sederhana yang dapat digunakan sebagai tombol.Namun, mungkin lebih baik menggunakan kosong TextButton sebagai gantinya.
IsLoaded
Properti ini menunjukkan apakah properti Image telah selesai dimuat dari Roblox. Gambar yang ditolak oleh moderasi tidak akan pernah load.
Contoh Kode
This code sample measures how long an ImageLabel or ImageButton takes to load an image. If the image was already loaded, this will be 0.
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Wait for the image to load
while not imageLabel.IsLoaded do
task.wait()
end
-- Measure and display how long it took to load
local deltaTime = workspace.DistributedGameTime - startTime
print(("Image loaded in %.3f seconds"):format(deltaTime))
PressedImage
ID tekstur yang dapat ditetapkan sebagai properti ImageButton. Saat tombol ditekan, itu akan menampilkan gambar ini.
PressedImageContent
ResampleMode
Menentukan bagaimana tampilan gambar saat diubah skalanya.Secara default, gambar menyamarkan tekstur saat ditampilkan lebih besar atau lebih kecil dari ukurannya di memori tekstur.Sebaliknya, Enum.ResamplerMode.Pixelated menyimpan tepi tajam dari piksel gambar.
ScaleType
Properti ini menentukan dengan cara apa properti Image dihasilkan ketika ukuran elemen UI berbeda dari ukuran gambar sumber.
Secara default, properti ini adalah Enum.ScaleType.Stretch yang hanya akan meregangkan/kompakkan dimensi gambar sehingga sesuai dengan ruang elemen UI dengan tepat.Karena piksel transparan diatur menjadi hitam saat diunggah ke Roblox, gambar transparan harus menerapkan blending alfa untuk menghindari garis hitam di sekitar gambar skala.
Untuk Enum.ScaleType.Slice , saat meningkatkan skala, sudut akan tetap menjadi ukuran gambar sumber.Pinggiran gambar akan memperluas ke lebar/tinggi gambar.Akhirnya, pusat gambar akan memperluas untuk mengisi area pusat gambar.Untuk mempelajari lebih lanjut tentang gambar 9-potong, lihat Desain UI 9-Potong.
Untuk Enum.ScaleType.Tile , ukuran setiap ubin gambar ditentukan oleh properti TileSize.
SliceCenter
Properti ini menetapkan batas potong dari gambar berukuran 9 saat ScaleType diatur ke Enum.ScaleType.Slice.
Untuk mempelajari lebih lanjut tentang gambar 9-potong, lihat Desain UI 9-Potong.
SliceScale
Skala ujung 9 bagian dengan rasio yang ditentukan.Ini berarti bahwa tepi di sekitar 9-potong akan tumbuh seolah-olah Anda telah mengunggah versi baru dari tekstur yang diperbesar.Default ke 1.0.
Sebagai pengganda untuk perbatasan 9-potong, berguna untuk menggunakan kembali satu gambar sudut bulat untuk banyak radius.
Lihat juga ScaleType yang menentukan bagaimana sebuah gambar akan diperbesar jika ditampilkan di elemen UI yang ukurannya berbeda dari gambar sumber.
TileSize
Mengatur ukuran ubin dari ImageButton mulai dari sudut kiri atas gambar.Nilai default UDim2 adalah
Properti ini hanya aktif jika properti ScaleType diatur ke Enum.ScaleType.Tile.