UIDragDetector
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Instansi UIDragDetector memudahkan dan meningkatkan interaksi dengan elemen antarmuka pengguna 2D dalam pengalaman, seperti slider dan spinner. Fitur kunci termasuk:
Tempatkan UIDragDetector di bawah salah satu GuiObject instansi untuk membuatnya ditarik melalui semua input tanpa satu baris kode.
Pilih dari beberapa pilihan DragStyle , definisikan cara objek menanggapi gerakan melalui ResponseStyle , dan secara opsional tetapkan batas gerakan atau batas geser.
Skrip dapat merespon manipulasi objek yang di拖 untuk menghasilkan respons logika, seperti menyesuaikan pengaturan.
UIragDetectors bekerja di Studio as long as you're tidak menggunakan Pilih , 0> Pindahkan 0> , 3> Skala 3> , atau 6> Rotate 6> alat-alat atau Studio's UIDragDetectors9> editor tools.
Rangkuman
Properti
Tetapkan ikon kurungan untuk ditampilkan saat mouse diaktifkan di atas nenek moyang ini UIDragDetector .
Mengukur perilaku batas UI yang ditarik ketika detector's BoundingUI diatur.
Instans yang memiliki area batas definisi batas tarikan untuk orang tua GuiObject .
Tetapkan ikon kurungan untuk ditampilkan saat mouse di atas nenek moyang ini UIDragDetector .
Lokasi seret untuk instansi UIDragDetector ketika DragStyle di set ke Enum.UIDragDetectorDragStyle.TranslateLine .
Mengatur paradigma yang mendefinisikan relatifitas input/keluaran dari fungsi seret khusus.
Rotasi yang dilakukan oleh tarikan saat ini.
Mengatur paradigma yang mendefinisikan ruang input/keluaran dari fungsi tarikan khusus.
Paradigma yang digunakan untuk menghasilkan gerakan yang diusulkan.
Terjemahan yang dilakukan oleh current drag yang diungkapkan dalam nilai UDim2 saja.
Apakah UIDragDetector menanggapi masukan pengguna.
Bersama dengan MinDragAngle , mencegah upaya detektor untuk menghasilkan gerakan rotasi.
Bersama dengan MinDragTranslation, mencegah upaya detector untuk menghasilkan gerakan lini/plane.
Bersama dengan MaxDragAngle , mencegah upaya detektor untuk menghasilkan gerakan rotasi.
Bersama dengan MaxDragTranslation , mencegah upaya detektor untuk menghasilkan gerakan lini/plane.
Sebuah instansi GuiObject yang memiliki ruang lokal dan posisi pusat absolut adalah ruang referensi dan asal untuk detector.
Paradigma yang digunakan untuk mendefinisikan respons terhadap gerakan yang diusulkan.
Kecepatan tarikan maksimum untuk terjemahan.
Sudut maksimum per detik UIDragDetector dapat berputar di.
Enum.UIDragSpeedAxisMapping nilai yang menentukan kecepatan tarikan dimensi X / Y .
Metode
Menambahkan fungsi untuk mengubah atau membatasi gerakan yang diusulkan.
Mengembalikan posisi referensi UDim2 dari posisi referensi drag saat ini.
Mengembalikan referensi rotasi elemen referensi saat ini.
Mengembalikan fungsi yang akan digunakan jika dan hanya jika DragStyle ditetapkan ke Enum.UIDragDetectorDragStyle.Scriptable .
Acara
Berdiam saat pengguna terus menyeret elemen UI setelah DragStart telah diaktifkan.
Menghantam saat seorang pengguna berhenti menyeret elemen UI.
Tembak ketika pengguna mulai menyeret elemen UI.
Properti
ActivatedCursorIcon
Tetapkan ikon kurungan untuk ditampilkan saat mouse diaktifkan di atas nenek moyang ini UIDragDetector . Jika property ini ditinggalkan kosong, detector akan menggunakan ikon default.
Untuk mengubah ikon kurungan yang aktif, atur property ini ke ID aset gambar yang ingin Anda gunakan.
BoundingBehavior
Mengontrol perilaku batas UI yang ditarik ketika detector's BoundingUI di set. Lihat Enum.UIDragDetectorBoundingBehavior untuk detail tentang perilaku masing-masing pengaturan.
BoundingUI
Ketika diatur, instansi UIDragDetector tidak akan memungkinkan batas-batas anggota GuiObject untuk ditarik ke luar batas-batas instansi BoundingUI .
Catat bahwa jika bagian dari orang tua GuiObject berada di luar batas BoundingUI , posisi input awal saat menyeret dan posisi relatifnya selama menyeret akan digunakan untuk mendeteksi batas pada objek yang ditarik setelah yang seluruh objek berada dalam batas, setelah itu objek akan dibatasi di dalam batas.
CursorIcon
Tetapkan ikon kurungan untuk ditampilkan saat mouse ditunjuk ke atas orang tua ini UIDragDetector . Jika property ini ditinggalkan kosong, detector akan menggunakan ikon default.
Untuk mengubah ikon kurungan, atur property ini ke ID aset gambar yang ingin Anda gunakan.
DragAxis
Vector2 nilai yang mendefinisikan sumbu gerakan untuk objek yang di geser ketika DragStyle di tetapkan menjadi Enum.UIDragDetectorDragStyle.TranslateLine
DragRelativity
Hanya berlaku jika fungsi serupa khusus yang terdaftar melalui SetDragStyleFunction() atau AddConstraintFunction() . Mengatur paradigma yang mendefinisikan input/keluaran fungsi yang terdaftar.
M
DragRotation
Rotasi yang dilakukan oleh saat ini drag. Angkatan ini didefinisikan dalam derajat relatif terhadap ruang lokal Class.IDragDetector إلا إذا كان Class.IDragDetector.ReferenceUIInstance|ReferenceUIInstance تُعرّف، في حين أن rotasi didefinisikan dalam lokasi lokal Class.IDragDetector ومن خلال sumbu X positifnya.
Item ini dapat diubah saat tidak ada tawaran aktif untuk memutar item yang di拖.
DragSpace
Hanya berlaku jika fungsi serupa khusus yang terdaftar melalui SetDragStyleFunction() atau AddConstraintFunction() . Mengatur paradigma yang mendefinisikan ruang input/keluaran fungsi yang terdaftar.
Misalnya, jika detector's parent GuiObject adalah anak dari orang tua Class.GuiObject yang berputar:
Mengembalikan a UDim2.fromOffset(1, 0) dari fungsi terdaftar dengan set prop性 ini ke a Enum.UIDragDetectorDragSpace.Parent> akan menghapus anak fungsi GuiObject dari ruang lokal yang terpengaruh oleh rotasi orang tuanya.
Mengembalikan a UDim2.fromOffset(1, 0) dari fungsi terdaftar dengan property set ini ke Enum.UIDragDetectorDragSpace.LayerCollector akan menghapus item tanda GuiObject dari ruang 1> Class.LayerCollector1> .
DragStyle
Paradigma yang digunakan untuk menghasilkan gerakan yang diusulkan, diberikan satu stream posisi input. Lihat Enum.UIDragDetectorDragStyle untuk opsi.
DragUDim2
Terjemahan dilakukan oleh current drag yang diungkapkan dalam nilai UDim2 atau Offset . Terjemahan dilakukan melalui Scale
Item ini dapat diubah saat tidak ada tawaran aktif untuk pindahkan item yang di拖.
MaxDragAngle
Jika properti ini lebih besar dari MinDragAngle , rotasi akan dibungkam di dalam rentang MinDragAngle dan MaxDragAngle .Nilai positif menghalangi rotasi ke arah negatif dan nilai negatif menghalang
Ini bukan kendala; itu hanya mengganggu upaya detektor untuk menghasilkan gerakan agar tetap dalam batas. Lihat AddConstraintFunction() untuk menambahkan kendala khusus ke drag.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Jika nilai Offset dan/atau Scale yang sesuai lebih besar dari nilai MinDragTranslation dan/atau 1>
Ini bukan kendala; itu hanya mengganggu upaya detektor untuk menghasilkan gerakan agar tetap dalam batas. Lihat AddConstraintFunction() untuk menambahkan kendala khusus ke drag.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.TranslateLine atau Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Jika properti ini kurang dari MaxDragAngle , rotasi akan dibungkam dalam rentang MinDragAngle dan MaxDragAngle .Nilai positif menghalang rotasi ke arah 2> Class.UIドラッ
Ini bukan kendala; itu hanya mengganggu upaya detektor untuk menghasilkan gerakan agar tetap dalam batas. Lihat AddConstraintFunction() untuk menambahkan kendala khusus ke drag.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Jika nilai Offset dan/atau Scale yang sesuai kurang dari nilai MaxDragTranslation dalam semua dimensi, translasi lin
Ini bukan kendala; itu hanya mengganggu upaya detektor untuk menghasilkan gerakan agar tetap dalam batas. Lihat AddConstraintFunction() untuk menambahkan kendala khusus ke drag.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.TranslateLine atau Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Sebuah instansi GuiObject yang memiliki ruang lokal dan posisi pusat absolut adalah ruang referensi dan asal untuk detector. Mengatur ruang referensi ini menyangkut proporsi seperti DragUDim2 , DragRotation dan perilaku <
ResponseStyle
Setelah gerakan yang diusulkan telah dihitung dan potensial dibatasi, paradigma ini digunakan untuk menentukan cara bergerak (atau tidak bergerak) GuiObject yang terpengaruh oleh UIDragDetector. Lihat Enum.UIDragDetectorResponseStyle untuk opsi.
SelectionModeDragSpeed
Mendefinisikan kecepatan tarikan maksimum untuk terjemahan sebagai kombinasi dari Scale dan Offset dari nenek moyang pertama ScreenGui
SelectionModeRotateSpeed
Mendefinisikan sudut maksimum per detik di mana UIDragDetector dapat berputar. Anggota ini harus positif dan setiap nilai di bawah 0 akan dibatasi ke 0.
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping nilai yang menentukan kecepatan tarikan dimensi X / Y .
Metode
AddConstraintFunction
Menambahkan fungsi untuk mengubah atau membatasi gerakan yang diusulkan. Fungsi mengambil input UDim2 (posisi) dan mengapung (rotasi) dari gerakan yang diusulkan dan mengembalikan UDim2 dan mengapung dari
Input ditgekspresikan dalam ruang yang ditentukan oleh property DragSpace , baik sebagai Delta atau posisi/rotasi yang diinginkan secara permanen berdasarkan proporsi Class.UIDragDetectorDragRelivity|
Untuk menghapus fungsi batasan yang ditambahkan, panggil Disconnect() pada objek koneksi yang dikembalikan.
Parameter
Urutan prioritas untuk fungsi yang ditambahkan melalui metode ini.Nilai yang lebih tinggi mengambil prioritas atas nilai yang lebih rendah.
Memberikan nilai
Gunakan objek koneksi ini untuk menghapus fungsi batasan.
GetReferencePosition
Ketika tidak ada ReferenceUIInstance atur, fungsi ini mengembalikan posisi UDim2 dari orang tua langsung objek yang diseret, jika ada, atau posisi GuiObject dari objek拖-and-drop.
Ketika ReferenceUIInstance atur, fungsi ini mengembalikan posisi UDim2 dari kejadianinstans itu.
Memberikan nilai
GetReferenceRotation
Ketika tidak ada ReferenceUIInstance yang atur, fungsi ini mengembalikan rotasi objek yang segera diikuti GuiObject (jika ada), atau rotasi objek yang diikuti.
Ketika ReferenceUIInstance atur, fungsi ini mengembalikan rotasi kejadianinstans itu.
Memberikan nilai
Rotasi elemen referensi tarikan saat ini.
SetDragStyleFunction
Mengembalikan fungsi yang akan digunakan jika dan hanya jika Class.UIDragDetector.DragStyle|Drag
Jika fungsi mengembalikan nil, objek tidak akan di移动. Ini berguna jika script belum mengumpulkan semua informasi yang dibutuhkan untuk memberikan jawaban yang benar, atau dalam kasus sementara di mana Anda ingin objek tetap di mana itu berada.
Parameter
Fungsi untuk mengawasi DragContinue sinyal. Fungsi ini menerima posisi ruang layar singal dan menghasilkan UDim2 dan float yang mengandung gerakan drag di ruang yang diinginkan dan relatif. Jika fungsi ini mengembalikan nil, objek tidak akan dipergerakkan.
Memberikan nilai
Acara
DragContinue
Berdiam saat pengguna terus menyeret elemen UI setelah DragStart telah diaktifkan.
Parameter
DragEnd
Menghantam saat seorang pengguna berhenti menyeret elemen UI.