UIDragDetector

Tampilkan yang Tidak Digunakan Lagi

*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

Metode

Acara

Properti

ActivatedCursorIcon

ContentId
Baca Paralel

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.

Baca Paralel

Menentukan perilaku batasan dari objek UI yang diseret saat detektor BoundingUI diatur. Lihat Enum.UIDragDetectorBoundingBehavior untuk rincian tentang perilaku masing-masing pengaturan.

BoundingUI

Baca Paralel

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

ContentId
Baca Paralel

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

Baca Paralel

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.

Baca Paralel

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

Baca Paralel

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.

Baca Paralel

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 .

Baca Paralel

Paradigma yang digunakan untuk menghasilkan gerakan yang diusulkan, dengan memberikan aliran vektor posisi input. Lihat Enum.UIDragDetectorDragStyle untuk opsi.

DragUDim2

Baca Paralel

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.

Enabled

Baca Paralel

Jika true , UIDragDetector merespon input pengguna; jika false , tidak.

MaxDragAngle

Baca Paralel

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

Baca Paralel

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

Baca Paralel

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

Baca Paralel

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

Baca Paralel

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 .

Baca Paralel

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

Baca Paralel

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

Baca Paralel

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

Baca Paralel

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

priority: number

Urutan prioritas untuk fungsi yang ditambahkan melalui metode ini. Nilai yang lebih tinggi memiliki prioritas lebih tinggi dari nilai yang lebih rendah.

Nilai Default: ""
function: function

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.

Nilai Default: ""

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

UDim2 posisi elemen referensi seretan saat ini.

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

function: function

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.

Nilai Default: ""

Memberikan nilai

()

Acara

DragContinue

Melepaskan api saat pengguna melanjutkan menyeret elemen UI setelah DragStart telah diinisialisasi.

Parameter

inputPosition: Vector2

Vector2 mewakili posisi input saat ini.


DragEnd

Melepaskan api saat pengguna berhenti menyeret elemen UI.

Parameter

inputPosition: Vector2

Vector2 mewakili posisi input saat ini.


DragStart

Melepaskan api saat pengguna mulai menyeret elemen UI.

Parameter

inputPosition: Vector2

Vector2 mewakili posisi input saat ini.