DragDetector
*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
Bu DragDetector 'in ebeveynine fareyi aktif ettiğinde kursör simgesini gösterir.
Eğilim gücü objenin merkezine uygulanır mı yoksa sadece merkezine uygulanır mı.
Hareketin referans çerçevesiye kıyasla temel eksen.
Pivot'ın CFrame 'i, ReferenceInstance 'e bağlı.
Önerilen hareketi oluşturmak için kullanılan paradigma.
Class.DragDetector ile kullanıcının girişine cevap verip vermediği.
Oyunpad'deki giriş sırasında, birincil hareket modu için modifiyer Enum.KeyCode olarak değiştirici.
Klavye girişinde, birincil hareket modu için modifiyer Enum.KeyCode olarak değiştirici.
Class.DragDetector.MinDragAngle|MinDragAngle ile birlikte, hareket oluşturma denemelerini engeller.
Class.DragDetector.MinDragTranslation|MinDragTranslation ile birlikte, hareket oluşturma denemelerini engeller.
Hedefine ulaşması için uygulanan maksimum güç.
Hedefine ulaşması için uygulanan maksimum tork.
Class.DragDetector.MaxDragAngle|MaxDragAngle ile birlikte, hareket oluşturma deneylerini engeller.
Class.DragDetector.MaxDragTranslation|MaxDragTranslation ile birlikte, hareketi oluşturmaya çalışanları engeller.
Hareket referansına göre YXZ dönme çemberini belirtir.
Oyuncuların DragDetector ile etkileşime geçebileceği izin seviyesini kontrol eder.
Bir CFrame ile çekiş algılayıcının referans çerçevesi.
Nesneleri sürüklemeyi, hareket ettirmeyi veya hareket ettirmeyi etkileyen paradigmayı kullanır.
Daha yüksek değerler, hedefe daha hızlı ulaşmasını sağlar.
Kullanıcının bir DragDetector kopyasına sunucuya yeniden yazılır mı yoksa yerel olarak özelleştirilmiş mı kalır.
Hareketinin birincil eksenidir.
Eğer DragStyle``Enum.DragDetectorDragStyle.RotateTrackball ile katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön çevirme olarak katkıda bulunan bir yön
Eğer DragStyle``Enum.DragDetectorDragStyle.RotateTrackball ise, yuvarlak döndürmeyi toplamaya ekleyen çarpan.
VR girişinde, hareketin birincil modu için modifiyer Enum.KeyCode olacaktır.
Dünya alanında ifade edilen Axis
Dünya alanında ifade edilen SecondaryAxis
Bu ClickDetector veya DragDetector ile ilgili ebeveyni fareyi üzerinde tutduğunda kurdele ikonunu gösterir.
Oyuncunun etkileşimine izin veren maksimum mesafe arasındaki mesafe.
Yöntemler
Önerilen hareketi değiştirmek veya sınırlamak için bir işlev ekler.
İfade edilen hareketin içindeki referansı CFrame 返回lar.
Yeni parametreleri kullanarak kaydırıyı yeniden başlatmak için bir skriptten çağrılabilir.
Class.DragDetector.DragStyle|DragStyleEnum.DragDetectorDragStyle.Scriptable ile ayarlanırsa kullanılacak bir işlev geçer.
Class.DragDetector.Permission Policy ile yalnızca Class.DragDetector.Scriptable olarak ayarlandığında kullanılacak bir işlev geçer.
Etkinlikler
- DragContinue(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : bool):RBXScriptSignal
Kullanıcı, DragStart başlatıldıktan sonra nesneyi sürüklemeyi sürdürürse ateş eder.
Bir kullanıcı nesneyi sürüklemeyi bıraktığında ateş eder.
Bir kullanıcının nesneyi sürüklemeye başladığında ateşlenir.
Bir oyuncu bir ClickDetector veya DragDetector ile etkileşim kurduğunda ateştirir.
Ebeveyni bir ClickDetector veya DragDetector oyuncusunun üzerinde kaydırıldığında ateş eder.
Bir oyuncunun kurdeleyi ClickDetector veya DragDetector 'in ebeveyni dışına çıktığında yanar.
Bir oyuncunun sağ tıklaması bir ClickDetector veya DragDetector'de oyuncu cursörünü sağ tıkladığında ateşlenir.
Özellikler
ActivatedCursorIcon
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
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
Axis
Hareketin referans çerçevesi ile ilgili kaydedilen ana eksen. DragStyle``Enum.DragDetectorDragStyle.TranslateLine için yön
DragFrame
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ı.
DragStyle
Önerilen hareketi oluşturmak için kullanılan paradigma, bir cursor gücü akışı verilmiştir. Seçenekler için Enum.DragDetectorDragStyle bakın.
GamepadModeSwitchKeyCode
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
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
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
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
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
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
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
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
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
PermissionPolicy
Oyuncuların DragDetector ile etkileşime geçebileceği izin seviyesini kontrol eder.Varsayılan şu ki Enum.DragDetectorPermissionPolicy.Everybody .
ReferenceInstance
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ğ
ResponseStyle
Ö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
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
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.
TrackballRadialPullFactor
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
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
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
Dünya uzayındaki Axis ifade edilmiştir. Attachments ile aynı paradigmayı kullanarak yönlendirmeyi kullanır.
WorldSecondaryAxis
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
Bu yöntemle eklenen işlevlerin önceliği düzeni. Yüksek değerler daha düşük değerlerden önce önceliği vardı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
RestartDrag
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
SetDragStyleFunction
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
İ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
SetPermissionPolicyFunction
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
Detektörün etkileşimliliğini ayarlamak için kullanılan bir işlevdir. Bu işlev, bir özel oyuncunun det
Dönüşler
Etkinlikler
DragContinue
Kullanıcı, DragStart başlatıldıktan sonra nesneyi sürüklemeyi sürdürürse ateş eder.
Parametreler
Class.Player , derlemi başlatan kullanıcıdır DragStart ve şimdi derlemi devam ediyor.
VR giriş cihazı kullanıyorsanız, elinizin kurşornuzu / pointer'ı / kontrolörünü tutan CFrame'i.
DragEnd
Bir kullanıcı nesneyi sürüklemeyi bıraktığında ateş eder.
Parametreler
DragStart
Bir kullanıcının nesneyi sürüklemeye başladığında ateşlenir.
Parametreler
Çekmeyi başlatan kurucu raycast'inisabet çerçevesi.
Eriştirici raycast'ın başlattığı sürüklemeyi etkileyen parça.
VR giriş cihazı kullanıyorsanız, elinizin kurşornuzu / pointer'ı / kontrolörünü tutan CFrame'i.