Yakınlık uyarıları

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

ProximityPrompt nesneler, kullanıcı etkileşimini teşvik ederek deneyim nesnelerine, örneğin kapılar, ışık anahtarları ve düğmeler gibi yaklaştıklarında bir eylem tetikler.Bu nesneyi kullanarak, şunları yapabilirsiniz:

  • Bir kullanıcının deneyimde hangi nesnelerle etkileşebileceğini gösterin.
  • Bir kullanıcının nesneye yapabileceği eylemi gösterin, ardından eylemi basılarak veya bir tuş tutularak kullanıcı girişiyle tetikleyin.
  • Tüm giriş türleri için doğru girişi gösterin, bir klavye, oyun konsolu ve dokunma ekranı tuşları gibi.

Yakınlık uyarıları oluşturma

Bir kullanıcının etkileşime girmesini istediğiniz parçaya, model veya ekipmana yakınlık uyarıları vermelisiniz.Bir BasePart , Model veya Attachment nesneye bir yakınlık uyarısı eklemek için:

  1. Araştırıcı penceresinde, , veya üzerine gelin ve ⊕ düğmesine tıklayın. Bir bağımsız menü görüntülenir.

  2. Menüden, bir Yakınlıkİpuçu girin.

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

Yakınlık uyarılarını özelleştirin

Yakınlık uyarısını, nasıl görünmesini istediğinize bağlı olarak özelleştirebilirsiniz görünmesini istediğinizde , görünmesini istediğinizde kullanıcının eylemi tetiklemesi için ne yapmasını istediğinize bağlı olarak ve eylemi tetiklemek için kullanıcının yapması gereken şey .

Görünüm

Yakınlık uyarıları üç şeyi iletişime geçirmelidir:

  • Bir kullanıcının etkileşime girebileceği nesne .
  • Yakınlık uyarısıyla etkileşim kurduklarında tetiklenen eylem .
  • Bir kullanıcının basması veya tutması gereken anahtar .

Bunları aşağıdaki özellikler aracılığıyla belirleyebilirsiniz:

  • ObjectText Kullanıcının etkileşime girebileceği nesne için isteğe bağlı bir isim.

  • ActionText Kullanıcının tetikleyeceği eylem için isteğe bağlı bir isim.

  • KeyboardKeyCode Kullanıcının aksiyontetiklemek için basması veya tutması gereken klavye tuşu.

  • GamepadKeyCode Oyun kolu tuşu bir kullanıcının aksiyontetiklemek için basması veya tutması gereken tuş.

    Diagram indicating basic elements of a ProximityPrompt

Görünürlük

Yakınlık uyarısının MaxActivationDistance , RequiresLineOfSight ve Exclusivity özellikleri aracılığıyla ne zaman görülebileceğini kontrol edebilirsiniz.

Maksimum Aktivasyon Mesafesi

The MaxActivationDistance özelliği, yakınlık uyarısının görünürlüğünü etkinleştiren ProximityPrompt nesnesinin etrafındaki menzili tanımlamanıza izin verirBir kullanıcının karakteri bu menzile girdiğinde, yakınlık uyarısı görünür hale gelir.

Diagram indicating how a character's distance from a ProximityPrompt object affects whether the prompt appears on screen

Görüş Hattı Gerektirir

The RequiresLineOfSight özelliği, kamera 'dan ProximityPrompt nesneye net bir yol olduğunda yakınlık uyarısının görünürlüğünü etkinleştirir.Varsayılan olarak, bu özellik true olarak ayarlanır.

Özellik

Bir kullanıcının karakteri çok sayıda yakınlık hatırlatmasının menzilindeyse, her yakınlık hatırlatmasının görünürlüğü, kamera'nın hangi yakınlık hatırlatmasına işaret ettiğine ve her yakınlık hatırlatmasının Exclusivity özellik değerine bağlıdır.

ProximityPrompt objects set to exclusivity of OnePerButton
Yalnızca bir yakınlık uyarısı her giriş anahtar kodu için görünür.Birden fazla menzilli yakınlık hatırlatması farklı anahtarlar kullanıyorsa, hepsi görünür.Ancak, çok sayıda menzil yakınlığı hatırlatması aynı anahtar kodunu kullanıyorsa, kameranın görüş yönüne bağlı olarak yalnızca bir yakınlık hatırlatması herhangi bir zamanda görünebilir.

Etkileşim

Bir kullanıcının yakınlık uyarısıyla nasıl etkileşime geçtiğini HoldDuration ve ClickablePrompt özellikleri aracılığıyla özelleştirebilirsiniz.

Süre Tutma Süresi

The HoldDuration özelliği, bir kullanıcının yakınlık uyarısının eylemine tepki vermeden önce bir tuşa basması gereken saniye sayısını belirler.Bu özelliğin değeri 0 ise, yakınlık istemesinin eylemi hemen tetiklenir.

Tıklanabilirİpucu

The ClickablePrompt özelliği, bir kullanıcının aksiyontetiklemek için yakınlık uyarısına tıklayıp tıklayamayacağını belirler. doğru olarak ayarlanırsa, bir kullanıcı belirlenen anahtara basarak yakınlık uyarısına doğrudan tıklayarak yakınlık uyarısıyla etkileşebilir veya . kapalı olarak ayarlanırsa, bir kullanıcı yalnızca belirtilen anahtara basarak yakınlık uyarısıyla etkileşebilir.

Senaryo yakınlık uyarıları

Yakınlık uyarı etkinliklerine ProximityPrompt nesneye kendi başına veya küresel olarak ProximityPromptService aracılığıyla bağlanabilirsiniz.The ProximityPromptService tüm yakınlık istemesi davranışını bir konumdan yönetmenizi sağlar, deneyiminizde yinelenen kod gereksinimini engeller.

OlayAçıklama
PromptTriggeredBir oyuncu bir yakınlık uyarısıyla etkileştiğinde ateş eder (sıfır olmayan HoldDuration için bir uyarı süresinden sonra).
PromptTriggerEndedOyuncu bir yakınlık hatırlatmasıyla etkileşime son verdiğinde tetiklenir.
PromptButtonHoldBeganBir oyuncu, sıfır değerli bir yakınlık uyarısı ile etkileşime başladığında ateş eder HoldDuration değeriyle.
PromptButtonHoldEndedBir oyuncu, sıfır değerli bir yakınlık uyarısı ile etkileşim kurmayı bıraktığında ateş eder HoldDuration değeriyle.
PromptShownYakınlık uyarısı görünür hale getirildiğinde LocalScripts uyarıları tetiklenir.
PromptHiddenBir uyarı gizlendiğinde LocalScripts içinde tetikler.

Aşağıdaki kod örneği, ProximityPromptService kullanmak için temel bir çerçeve içerir:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Uyarı tetiklendiğinde algılanmasını sağla
local function onPromptTriggered(promptObject, player)
end
-- İstek tutma başladığında tespit edin
local function onPromptHoldBegan(promptObject, player)
end
-- İstek tutma sonlarını tespit etmeyi tetikleyin
local function onPromptHoldEnded(promptObject, player)
end
-- Hızlı etkinlikleri işleme fonksiyonlarına bağla
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)