DragDetector

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Class.DragDetector örneği, kapıları ve dolapları açmak, bir parçayı etrafta kaydırmak ve çok daha fazlasını içeren bir deneyimde 3D nesnelerle etkileşimi kolaylaştırır ve teşvik eder. Ana özellikleri şunları içerir:

  • Tüm girişler (faren, dokunma, oyunpad ve VR) aracılığıyla tüm yerlerde kaydırılabilir hale getirmek için herhangi bir DragDetector veya BasePart altında bir Model yerleştirin. Tüm kodlar tek bir satırda.

  • Birden fazla DragStyle seçeneğinden seçin, nesnenin harekete nasıl yanıt verdiğini ResponseStyle ile belirle ve opcional olarak eksen veya hareket sınırlarını uygula.

  • Scriptler, kullanıcının gösterdiği nesneleri manipüle etmeye yanıt vererek UI'yi sürüklemeye veya mantıksal kararlar vermeye, bir kayar duvar anahtarının parlaklığını ayarlama gibi işlemleri yapabilirler.

  • Oyuncular ankrajlı parçaları veya modelleri manipüle edebilir ve onlar yayınlandığında aynı yerde kalır.

  • Class.DragDetector|DragDetectors Studio'da çalışır, değil Seç'i kullanıyorsanız, Yerini Değiştir , 0> Boyutlandır0> veya DragDetectors3> aletlerini kullanarak, çalıştırmanızı kolaylaştırı

Ayrıntılar için ve kullanım örnekleri için 3D Sürükleme kılavuzunu görün.

Özet

Özellikler

Şuradan alınan Özellikler: ClickDetector

Yöntemler

Etkinlikler

Şuradan alınan Etkinlikler: ClickDetector

Özellikler

ActivatedCursorIcon

ContentId
Paralel oku

Bu DragDetector üzerindeki fareyi etkinleştirdiğinde kurma işaretleyiciyi gösterir. Bu özellik boş bırakılırsa, algılayıcı varsayılan simgekullanır.

Aktifleştirici kurucu simgesini değiştirmek için, kullanmak istediğiniz görüntünün varlık kimliğine bu özelliği ayarlayın.

ApplyAtCenterOfMass

Paralel oku

Kısıtlayıcı güç (Varsayılan olarak), kullanıcının tıkladığı noktada kullanılır. Gerçek olarak, kısıtlayıcı güç ResponseStyle ile merkezlenir. Sadece Enum.DragDetectorResponseStyle.Physical ile ilgili olduğunu gösterir ve ebeveyn olarak bir bağlantı y

Çoğaltılmamış
Paralel oku

Hareketin referans çerçevesi ile ilgili kaydedilen ana eksen. DragStyle``Enum.DragDetectorDragStyle.TranslateLine için yön

DragFrame

Paralel oku

Eğer ReferenceInstance ayarlandıysa, pivot'in referans çerçevesi ile ilgili pivot'in referans çerçevesi arasındaki CFrame kaydı; aksi takdirde, pivot'in referans çerçevesi ile ilgili pivot'in referans çerçevesi arasındaki CFrame kaydı.

Paralel oku

Önerilen hareketi oluşturmak için kullanılan paradigma, bir cursor gücü akışı verilmiştir. Seçenekler için Enum.DragDetectorDragStyle bakın.

Enabled

Paralel oku

Eğer doğruysa, DragDetector kullanıcı girişine yanıt verir; eğer yanlışysa, yapmaz.

GamepadModeSwitchKeyCode

Paralel oku

Oyunpad'e girerken, Enum.KeyCode olarak birincil hareket modunu ayarlayan DragStyle . Sadece kaydırma algılayıcının Class.DragDetector.DragStyle|DragStyle iletken modunu sağlayıp sağlamadığını uygular.

KeyboardModeSwitchKeyCode

Paralel oku

Klavye girişinde, Enum.KeyCode olarak birincil hareket modunu ayarlamak için kullanılır. Sadece kayıp algılayıcının DragStyle iletken modu veya kayıp algılayıcının Class.DragDetector.DragStyle iletken modu için geçerlidir.

MaxDragAngle

Paralel oku

Bu MinDragAngle ile daha büyükse, çeviri bu menzil içinde kıvrılacaktır.

Bu bir kısıt değil; sadece hareket oluşturmak için kaydırma algılayıcının girişimlerini engeller. See AddConstraintFunction() to eklemek için kaydırma için özel bir kısıt eklemek için.

Sadece DragStyle``Enum.DragDetectorDragStyle.RotateAxis ile ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak il

MaxDragTranslation

Paralel oku

Herhangi bir boyutta, bu MinDragTranslation'den daha büyükse, çeviri bu menzil içinde kıvrılacaktır.

Bu bir kısıt değil; sadece hareket oluşturmak için kaydırma algılayıcının girişimlerini engeller. See AddConstraintFunction() to eklemek için kaydırma için özel bir kısıt eklemek için.

MaxForce

Paralel oku

Nesnün hedefine ulaşması için uygulanan maksimum güç. Sadece önemli if ResponseStyle``Enum.DragDetectorResponseStyle.Physical ve ebeveyn nesne bağlantısı olmadan.

MaxTorque

Paralel oku

Nesnün hedefine ulaşması için uygulanan maksimum tork. Sadece ilgili if ResponseStyle``Enum.DragDetectorResponseStyle.Physical ve ebeveyn nesne bağlantısı olmadan.

MinDragAngle

Paralel oku

Eğer bu MaxDragAngle'den daha az ise çeviri bu menzil içinde kıvrılacaktır.

Bu bir kısıt değil; sadece hareket oluşturmak için kaydırma algılayıcının girişimlerini engeller. See AddConstraintFunction() to eklemek için kaydırma için özel bir kısıt eklemek için.

Sadece DragStyle``Enum.DragDetectorDragStyle.RotateAxis ile ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak ilgili olarak il

MinDragTranslation

Paralel oku

Herhangi bir boyutta, bu MaxDragTranslation'den daha az ise, çeviri bu menzil içinde kıvrılacaktır.

Bu bir kısıt değil; sadece hareket oluşturmak için kaydırma algılayıcının girişimlerini engeller. See AddConstraintFunction() to eklemek için kaydırma için özel bir kısıt eklemek için.

Orientation

Paralel oku

Hareketin referans çerçevesi (yönünü değiştirmez) ile ilgili YXZ dönmezini belirtir (yönünü değiştirmez). Lineer çeviri ve eksen dönmesi bu Y ekseninde olacak ve X eksenindeki planar çevirisi değiştirilece

Paralel oku

Oyuncuların DragDetector ile etkileşime geçebileceği izin seviyesini kontrol eder.Varsayılan şu ki Enum.DragDetectorPermissionPolicy.Everybody .

ReferenceInstance

Paralel oku

Bir örnek, kopya algılayıcı için referans çerçevesi olan CFrame olarak adlandırılmıştır. DragFrame , bu CFrame ile ilgili 2>Class.DragDetector:GetreferenceFrame()|GetreferenceFrame()2> yöntemine ifade edilir.

Bu durumda, referans çerçevesi pivot olacaktır; bir Attachment sahipse, dünyası CFrame . Eğer öyle değilse, referans çerçevesi 1> Class.BasePart1> veya öyle değ

Paralel oku

Önerilen hareket hesaplanıp potansiyel olarak sınırlı olduğunda, bu, etkilenen nesneleri hareket etmek için veya etkilemeyi kullanmak için kullanılan paradigmadır. See Enum.DragDetectorResponseStyle ile ilgili seçenekler için.

Responsiveness

Paralel oku

Daha yüksek değerler, nesnenin hedefine daha hızlı ulaşmasına neden olur. Sadece önemli ifade edilirse ResponseStyle``Enum.DragDetectorResponseStyle.Physical ve ebeveyn nesne bağlantısız.

RunLocally

Paralel oku

Eğer (Varsayılan), client gönderir kopyalanmış sinyaller ( DragStart , DragContinue , DragEnd ) server which processes cursor rays, makes changes to the data model, and replicates them onwards to clients.

Eğer doğrudur, istemci bu sinyalleri kendisi işleyip sunucuya kopyalamıyor. Client LocalScripts , bu olaylara yanıt vermek için kullanılabilir ve Client RemoteEvents , yanıtlanması gereken herhangi bir değişikliği göndermek için kullanılabilir.

SecondaryAxis

Çoğaltılmamış
Paralel oku

Hareketinin birincil eksenidir. Attachments ile eğilimi kullanarak ilgilidir.

TrackballRadialPullFactor

Paralel oku

Kurşör pist dışındaysa, DragDetector topu topun içine yatıyor gibi yuvarlak çevirmeyi uygulayabilir. Bu özellik, toplamı eklemek için bu dönmeyi bir katıştırma olarak 0 ila 1 arasında ekler. Sadece <

TrackballRollFactor

Paralel oku

Kurşör, izleyiciye bir Vinyil kaydının arkasında monte edilmiş gibi bir yuvarlama döndürmesi uygulayabilir. Bu özellik, DragDetector ile toplamına 0 ila 1 arasında bir çarpan ekler. Sadece Class.DragDetector

VRSwitchKeyCode

Paralel oku

VR girişinde, birincil hareket modunu ayarlamak için Enum.KeyCode olan önbir DragStyle kodunu içerir. Sadece kaydırma algılayıcının Class.DragDetector.DragStyle|DragStyle iletken modunu sağlayan modu vardır.

WorldAxis

Çoğaltılmamış
Paralel oku

Dünya uzayındaki Axis ifade edilmiştir. Attachments ile aynı paradigmayı kullanarak yönlendirmeyi kullanır.

WorldSecondaryAxis

Çoğaltılmamış
Paralel oku

Dünya alanında ifade edilen SecondaryAxis , aynı paradigmayı kullanarak yönlendirmeyi kullanır. Attachments ile aynı paradigmayı kullanarak yönlendirmeyi kullanır.

Yöntemler

AddConstraintFunction

Önerilen hareketi değiştirmek veya kısıtlamak için bir işlev ekler. İşlev, CFrame ile önerilen hareket arasındaki bir girişi alır ve CFrame ile 2> değiştirilmi

Eklenmiş bir kısıtlayıcı işlevini kaldırmak için, döndürülen bağlantı nesnesinde Disconnect() diyor.

Parametreler

priority: number

Bu yöntemle eklenen işlevlerin önceliği düzeni. Yüksek değerler daha düşük değerlerden önce önceliği vardır.

function: function

Önerilen hareketi değiştirmek veya kısıtlamak için işlev. Bu işlev, CFrame ile Datatype.CFrame arasında bir giriş alır ve referans çerçevesiyle ilgili olarak CFrame ile döndürür.


Dönüşler

Kısıtlayıcı işlevini kaldırmak için bu bağlantı nesnesini kullanın.

GetReferenceFrame

Ekspres edilen hareketin referansını CFrame içinde iade eder; ayrıntılar için ReferenceInstance özelliğini görün.


Dönüşler

Hareketin ifade edildiği referans CFrame .

RestartDrag

void

Yeni parametreler kullanarak sürüklemeyi yeniden başlatmak için bir skriptten çağrılabilir, DragStyle , Axis veya SecondaryAxis gibi değiştirme.


Dönüşler

void

SetDragStyleFunction

void

Yalnızca DragStyle setlenmişse ve sadece Enum.DragDetectorDragStyle.Scriptable sinyali yanıtlandığında verilen işlev kullanılır

Eğer işlev nil döndürürse, nesne hareket edilmez. Bu, yanıtı doğru vermenin gereken tüm bilgileri toplamadığında kullanışlıdır veya geçici durumlarda nesneyi istediğiniz yerde tutmak istediğinizde kullanışlıdır.

Parametreler

function: function

İzleme için DragContinue sinyallerini izleyen işlev. Bu işlev, sinyal'in dünya alanı kurucu ışınını alır ve CFrame içeren bir dünya alanındaki istediğiniz konum ve yönü içeren bir dünya alanındaki istediğiniz yerle ilgili bir


Dönüşler

void

SetPermissionPolicyFunction

void

local dragDetector = script.Parent.DragDetector
dragDetector.PermissionPolicy = Enum.DragDetectorPermissionPolicy.Scriptable
dragDetector:SetPermissionPolicyFunction(function(player, part)
if player and player:GetAttribute("IsInTurn") then
return true
elseif part and not part:GetAttribute("IsDraggable") then
return false
else
return true
end
end)

Parametreler

function: function

Detektörün etkileşimliliğini ayarlamak için kullanılan bir işlevdir. Bu işlev, bir özel oyuncunun det


Dönüşler

void

Etkinlikler

DragContinue

Kullanıcı, DragStart başlatıldıktan sonra nesneyi sürüklemeyi sürdürürse ateş eder.

Parametreler

playerWhoDragged: Player

Class.Player , derlemi başlatan kullanıcıdır DragStart ve şimdi derlemi devam ediyor.

cursorRay: Ray

Ray sahneye doğru yönlendiğinden kurşun içinde yayılan.

viewFrame: CFrame

CFrame of the user's Camera .

vrInputFrame: OptionalCoordinateFrame

VR giriş cihazı kullanıyorsanız, elinizin kurşornuzu / pointer'ı / kontrolörünü tutan CFrame'i.

isModeSwitchKeyDown: bool

Ekleyici algılayıcının DragStyle ı, birincil veya ikincil hareket modlarına sahipse, bu parametre kullanıcının modifiye girişini Class.DragDetector.KeyboardModeSwitchKeyCode|KeyboardModeSwitchKeyCode


DragEnd

Bir kullanıcı nesneyi sürüklemeyi bıraktığında ateş eder.

Parametreler

playerWhoDragged: Player

Şimdi sürüklemeyi başlatan Player ve sürüklemeyi artık bitirdi (yayınlandı).


DragStart

Bir kullanıcının nesneyi sürüklemeye başladığında ateşlenir.

Parametreler

playerWhoDragged: Player

Player kimin başlattığı sürüklemeyi başlatan.

cursorRay: Ray

Ray sahneye doğru yönlendiğinden kurşun içinde yayılan.

viewFrame: CFrame

CFrame of the user's Camera .

hitFrame: CFrame

Çekmeyi başlatan kurucu raycast'inisabet çerçevesi.

clickedPart: BasePart

Eriştirici raycast'ın başlattığı sürüklemeyi etkileyen parça.

vrInputFrame: OptionalCoordinateFrame

VR giriş cihazı kullanıyorsanız, elinizin kurşornuzu / pointer'ı / kontrolörünü tutan CFrame'i.

isModeSwitchKeyDown: bool

Ekleyici algılayıcının DragStyle ı, birincil veya ikincil hareket modlarına sahipse, bu parametre kullanıcının modifiye girişini Class.DragDetector.KeyboardModeSwitchKeyCode|KeyboardModeSwitchKeyCode