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 mendorong interaksi dengan elemen antarmuka pengguna 2D dalam pengalaman, seperti slider dan spinner.Fitur kunci termasuk:
Tempatkan UIDragDetector di bawah instance GuiObject mana pun untuk membuatnya dapat diseret melalui semua input tanpa satu baris kode.
Pilih dari beberapa opsi DragStyle , definisikan bagaimana objek menanggapi gerakan melalui ResponseStyle , dan secara opsional terapkan sumbu, batas gerakan, atau batas geser.
Skrip dapat menanggapi manipulasi objek yang diseret untuk menggerakkan respons logika, seperti menyesuaikan pengaturan.
bekerja di Studio selama Anda tidak menggunakan Pilih , Pindahkan , Skala , atau Putar alat, atau plugin tertentu atau alat editor UI Studio.
Rangkuman
Properti
Atur ikon kursor untuk ditampilkan saat mouse diaktifkan di atas orangtua dari ini UIDragDetector .
Menentukan perilaku batasan dari objek UI yang diseret saat detektor BoundingUI diatur.
Instansi yang wilayah batasnya mendefinisikan batas seret untuk orang tua GuiObject .
Atur ikon kursor untuk ditampilkan saat mouse di atas orangtua dari ini UIDragDetector .
Lingkaran seret untuk instansi UIDragDetector ketika DragStyle diatur ke Enum.UIDragDetectorDragStyle.TranslateLine.
Mengatur paradigma yang mendefinisikan relatifitas input/output dari fungsi seret khusus.
Rotasi yang dilakukan oleh seretan saat ini.
Mengatur paradigma yang mendefinisikan ruang input/ output dari fungsi seret khusus.
Paradigma yang digunakan untuk menghasilkan gerakan yang diusulkan.
Terjemahan yang dilakukan oleh seretan saat ini yang diungkapkan dalam nilai UDim2 .
Apakah UIDragDetector merespon masukan pengguna.
Bersama dengan MinDragAngle, mengganggu upaya detektor untuk menghasilkan gerakan rotasi.
Bersama dengan MinDragTranslation, mengganggu upaya detektor untuk menghasilkan gerakan linier/datar.
Bersama dengan MaxDragAngle, mengganggu upaya detektor untuk menghasilkan gerakan rotasi.
Bersama dengan MaxDragTranslation, mengganggu upaya detektor untuk menghasilkan gerakan linier/datar.
Sebuah instansi GuiObject yang lokal dan posisi pusat absolutnya adalah ruang referensi dan asal untuk detektor.
Paradigma yang digunakan untuk mendefinisikan respons terhadap motion yang diusulkan.
Kecepatan seret maksimum untuk terjemahan.
Sudut maksimum per detik yang UIDragDetector dapat berputar di.
Enum.UIDragSpeedAxisMapping nilai yang menentukan kecepatan seret dimensi X / Y .
Metode
Menambahkan fungsi untuk memodifikasi atau membatasi gerakan yang diusulkan.
Kembalikan referensi UDim2 posisi referensi asal seretan saat ini.
Kembalikan rotasi referensi dari elemen referensi seretan saat ini.
Melewati fungsi yang akan digunakan jika dan hanya jika DragStyle diatur ke Enum.UIDragDetectorDragStyle.Scriptable.
Acara
Melepaskan api saat pengguna melanjutkan menyeret elemen UI setelah DragStart telah diinisialisasi.
Melepaskan api saat pengguna berhenti menyeret elemen UI.
Melepaskan api saat pengguna mulai menyeret elemen UI.
Properti
ActivatedCursorIcon
Atur ikon kursor untuk ditampilkan saat mouse diaktifkan di atas orangtua dari ini UIDragDetector .Jika properti ini dibiarkan kosong, detektor akan menggunakan ikon default.
Untuk mengubah ikon kursor yang diaktif, atur properti ini ke ID aset gambar yang ingin Anda gunakan.
BoundingBehavior
Menentukan perilaku batasan dari objek UI yang diseret saat detektor BoundingUI diatur. Lihat Enum.UIDragDetectorBoundingBehavior untuk rincian tentang perilaku masing-masing pengaturan.
BoundingUI
Saat atur, instansi UIDragDetector tidak akan mengizinkan batas-batas orangtua GuiObject untuk ditarik di luar batas-batas instansi BoundingUI .
Perhatikan bahwa jika bagian dari orangtua GuiObject berada di luar batas BoundingUI , posisi input awal saat menyeret dan posisinya relatif selama menyeret akan digunakan untuk deteksi pengikatan sampai seluruh objek yang diseret berada dalam batas, setelah itu objek akan dibatasi di dalam batas.
CursorIcon
Atur ikon kursor untuk ditampilkan saat mouse di atas orangtua dari ini UIDragDetector .Jika properti ini dibiarkan kosong, detektor akan menggunakan ikon default.
Untuk mengubah ikon kursor, atur properti ini ke ID aset gambar yang ingin Anda gunakan.
DragAxis
Vector2 nilai yang mendefinisikan sumbu gerakan untuk objek yang diseret saat DragStyle diatur ke Enum.UIDragDetectorDragStyle.TranslateLine.Sumbu didefinisikan di ruang lokal dari UIDragDetector kecuali ReferenceUIInstance didefinisikan, di mana sumbu didefinisikan di ruang lokal kejadiantersebut.
DragRelativity
Hanya berlaku jika fungsi seret khusus terdaftar melalui SetDragStyleFunction() atau AddConstraintFunction() .Mengatur paradigma yang mendefinisikan relatifnya input/output fungsi terdaftar.
Sebagai contoh, mengembalikan UDim2.fromOffset(1, 0) dari fungsi terdaftar dengan properti ini diatur ke Enum.UIDragDetectorDragRelativity.Absolute akan memindahkan orangtua detektor ke **** (1, 0) di tempat yang ditentukan DragSpace , sementara mengembalikan yang sama UDim2 dengan properti ini diatur ke Enum.UIDragDetectorDragRelativity.Relative akan memindahkan orangtua detektor ke oleh (1, 0) di tempat yang ditentukan DragSpace .
DragRotation
Rotasi yang dilakukan oleh seretan saat ini.Nilai ini didefinisikan dalam derajat relatif terhadap ruang lokal dari UIDragDetector kecuali ReferenceUIInstance didefinisikan, di mana rotasi didefinisikan di ruang lokal dari instans tersebut dan dari sumbu positif X nya.
Properti ini dapat diubah saat tidak ada seretan aktif untuk memutar objek yang diseret.
DragSpace
Hanya berlaku jika fungsi seret khusus terdaftar melalui SetDragStyleFunction() atau AddConstraintFunction() .Mengatur paradigma yang mendefinisikan ruang input/ output fungsi terdaftar.
Sebagai contoh, jika orangtua detektor GuiObject adalah anak dari orangtua GuiObject yang diputar:
Mengembalikan dari fungsi terdaftar dengan properti ini diatur ke akan memindahkan orangtua detektor ke kanan oleh 1 piksel di ruang lokal yang dipengaruhi oleh rotasi orangtuanya.
Mengembalikan dari fungsi terdaftar dengan properti ini diatur ke akan memindahkan orangtua detektor ke kanan dengan 1 piksel di ruang .
DragStyle
Paradigma yang digunakan untuk menghasilkan gerakan yang diusulkan, dengan memberikan aliran vektor posisi input. Lihat Enum.UIDragDetectorDragStyle untuk opsi.
DragUDim2
Terjemahan yang dilakukan oleh seretan saat ini yang diungkapkan dalam nilai UDim2 .Terjemahan dilakukan melalui Offset atau Scale perubahan nilai tergantung pada nilai DragRelativity , dan itu relatif dengan ruang lokal detektor kecuali jika ReferenceUIInstance di definisikan.
Properti ini dapat diubah saat tidak ada seretan aktif untuk memindahkan objek yang diseret.
MaxDragAngle
Jika properti ini lebih besar dari MinDragAngle , rotasi akan dibatasi dalam rentang MinDragAngle dan MaxDragAngle .Nilai positif menghalangi rotasi searah jam sementara nilai negatif menghalangi rotasi berlawan arah jam.
Ini bukan batasan; itu hanya menghalangi upaya detektor untuk menghasilkan gerakan agar tetap berada dalam batas.Lihat AddConstraintFunction() untuk menambahkan batasan khusus ke seretan.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Jika nilai Offset dan/atau Scale yang sesuai lebih besar dari nilai MinDragTranslation di semua dimensi, terjemahan linier/datar akan dibatasi dalam kisaran MinDragTranslation dan MaxDragTranslation .
Ini bukan batasan; itu hanya menghalangi upaya detektor untuk menghasilkan gerakan agar tetap berada dalam batas.Lihat AddConstraintFunction() untuk menambahkan batasan khusus ke seretan.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.TranslateLine atau Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Jika properti ini kurang dari MaxDragAngle , rotasi akan dibatasi dalam rentang MinDragAngle dan MaxDragAngle .Nilai positif menghalangi rotasi searah jam sementara nilai negatif menghalangi rotasi berlawan arah jam.
Ini bukan batasan; itu hanya menghalangi upaya detektor untuk menghasilkan gerakan agar tetap berada dalam batas.Lihat AddConstraintFunction() untuk menambahkan batasan khusus ke seretan.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Jika nilai Offset dan/atau Scale yang sesuai kurang dari nilai MaxDragTranslation di semua dimensi, terjemahan linier/datar akan dibatasi dalam kisaran MinDragTranslation dan MaxDragTranslation .
Ini bukan batasan; itu hanya menghalangi upaya detektor untuk menghasilkan gerakan agar tetap berada dalam batas.Lihat AddConstraintFunction() untuk menambahkan batasan khusus ke seretan.
Hanya relevan jika DragStyle adalah Enum.UIDragDetectorDragStyle.TranslateLine atau Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Sebuah instansi GuiObject yang lokal dan posisi pusat absolutnya adalah ruang referensi dan asal untuk detektor.Mengatur referensi ini memengaruhi properti seperti DragUDim2 , DragRotation , dan perilaku DragAxis .
ResponseStyle
Setelah proposal yang diusulkan telah dihitung dan mungkin dibatasi, paradigma ini digunakan untuk menentukan cara bergerak (atau tidak bergerak) GuiObject yang dipengaruhi oleh UIDragDetector.Lihat Enum.UIDragDetectorResponseStyle untuk opsi.
SelectionModeDragSpeed
Mendefinisikan kecepatan seret maksimum untuk terjemahan sebagai kombinasi dari dan dari nenek moyang pertama atau yang milik.Nilai ini harus positif dan nilai apa pun di bawah 0 akan dikunci ke 0 .
SelectionModeRotateSpeed
Mendefinisikan sudut maksimum per detik di mana UIDragDetector dapat berputar.Nilai ini harus positif dan nilai apa pun di bawah 0 akan dikunci ke 0 .
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping nilai yang menentukan kecepatan seret dimensi X / Y .
Metode
AddConstraintFunction
Menambahkan fungsi untuk memodifikasi atau membatasi gerakan yang diusulkan.Fungsi mengambil input UDim2 (posisi) dan mengapungkan (rotasi) dari proposal gerakan dan kembali dengan UDim2 dan mengapungkan dari modifikasi atau tidak dimodifikasi gerakan.Anda dapat menambahkan beberapa fungsi yang akan dipanggil dalam urutan oleh priority , melewati hasil di sepanjang rantai.
Input diungkapkan dalam ruang yang didefinisikan oleh properti DragSpace , baik sebagai delta atau posisi akhir yang diinginkan/rotasi berdasarkan properti DragRelativity.Output harus diekspresikan dalam ruang dan relativitas yang sama, kecuali ditumpahkan dengan mengembalikan nilai kembali yang ditentukan Enum.UIDragDetectorDragRelativity dan Enum.UIDragDetectorDragSpace sebagai nilai kembali ketiga dan keempat.
Untuk menghapus fungsi batasan tambahan, panggil Disconnect() pada objek koneksi yang dikembalikan.
Parameter
Urutan prioritas untuk fungsi yang ditambahkan melalui metode ini. Nilai yang lebih tinggi memiliki prioritas lebih tinggi dari nilai yang lebih rendah.
Fungsi untuk memodifikasi atau membatasi gerakan yang diusulkan.Fungsi ini menerima input UDim2 dan mengapungkan dari proposal gerakan dan kembali dengan UDim2 dan mengapungkan dari diubah atau tidak diubah gerakan.Ini dapat secara opsional mengembalikan Enum.UIDragDetectorDragRelativity dan Enum.UIDragDetectorDragSpace sebagai nilai pengembalian ketiga dan keempat sebagai penghapus output.
Memberikan nilai
Gunakan objek koneksi ini untuk menghapus fungsi batasan.
GetReferencePosition
Ketika tidak ada ReferenceUIInstance yang atur, fungsi ini mengembalikan posisi UDim2 dari orangtua langsung objek yang diseret GuiObject (jika ada), atau posisi UDim2 dari objek yang diseret.
Ketika ReferenceUIInstance atur, fungsi ini mengembalikan posisi UDim2 referensi kejadiantersebut.
Memberikan nilai
GetReferenceRotation
Ketika tidak ada ReferenceUIInstance yang atur, fungsi ini mengembalikan rotasi orangtua langsung dari objek yang diseret GuiObject (jika ada), atau rotasi objek yang diseret.
Ketika ReferenceUIInstance atur, fungsi ini mengembalikan rotasi instansi kejadianitu.
Memberikan nilai
Rotasi elemen referensi seretan saat ini.
SetDragStyleFunction
Melewati fungsi yang akan digunakan jika dan hanya jika DragStyle diatur ke Enum.UIDragDetectorDragStyle.Scriptable.Fungsi yang diberikan menerima posisi input ruang layar sinyal dengan jenis Vector2 , dan ia kembali posisi UDim2 (posisi) dan mengapungkan (rotasi) yang berisi gerakan seret yang diinginkan.Ruang nilai pengembalian dan relatifitas gerakan ditentukan oleh properti DragSpace dan DragRelativity, kecuali ditentang dengan mengembalikan nilai pengembalian tertentu Enum.UIDragDetectorDragRelativity dan Enum.UIDragDetectorDragSpace sebagai nilai pengembalian ketiga dan keempat.
Jika fungsi mengembalikan nil, objek tidak akan dipindahkan.Ini berguna jika skrip belum mengumpulkan semua informasi yang dibutuhkannya untuk memberikan jawaban yang benar, atau dalam kasus sementara di mana Anda ingin objek tetap di tempatnya.
Parameter
Fungsi untuk memantau sinyal DragContinue .Fungsi ini menerima posisi input ruang layar singal dan kembali posisi UDim2 dan mengapungkan yang berisi gerakan yang diinginkan dari seretan di ruang dan relatif yang diinginkan.Jika fungsi ini kembali nil , objek tidak akan dipindahkan.
Memberikan nilai
Acara
DragContinue
Melepaskan api saat pengguna melanjutkan menyeret elemen UI setelah DragStart telah diinisialisasi.
Parameter
DragEnd
Melepaskan api saat pengguna berhenti menyeret elemen UI.