Motor Sınıfı
ParticleEmitter
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Özet
Özellikler
Texture:ContentId |
Kod Örnekleri
Sıfırdan Bir Parçacık Emitter'ı Oluşturma
local emitter = Instance.new("ParticleEmitter")
-- Parçacık sayısı = Oran * Ömür
emitter.Rate = 5 -- Saniyede parçacık sayısı
emitter.Lifetime = NumberRange.new(1, 1) -- Parçacıkların ne kadar süre hayatta kalması gerektiği (min, max)
emitter.Enabled = true
-- Görsel özellikler
emitter.Texture = "rbxassetid://1266170131" -- Beyaz bir halka resmi
-- Renk için, ColorSequenceKeypoint kullanarak bir ColorSequence oluşturun
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(zaman, renk)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- t=0'da, Beyaz
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- t=.5'te, Turuncu
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- t=1'de, Kırmızı
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(zaman, boyut, zarf)
NumberSequenceKeypoint.new(0, 1), -- t=0'da, tamamen şeffaf
NumberSequenceKeypoint.new(0.1, 0), -- t=.1'de, tamamen opak
NumberSequenceKeypoint.new(0.5, 0.25), -- t=.5'te, büyük oranda opak
NumberSequenceKeypoint.new(1, 1), -- t=1'de, tamamen şeffaf
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- Parçacıklar üst üste bindiğinde, renklerini daha parlak yapmak için çarp
emitter.LightInfluence = 0 -- Dünya aydınlatmasından etkilenmesin
-- Hız özellikleri
emitter.EmissionDirection = Enum.NormalId.Front -- İleriye yay
emitter.Speed = NumberRange.new(0, 0) -- Hız sıfır
emitter.Drag = 0 -- Parçacık hareketine sürüklenme uygulama
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Ebeveyn hızını miras alma
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Parçacıkları ebeveynine kilitleme
emitter.SpreadAngle = Vector2.new(0, 0) -- Her iki eksende de yayılma açısı yok
-- Simülasyon özellikleri
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- t=0'da, boyut 0
NumberSequenceKeypoint.new(1, 10), -- t=1'de, boyut 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Gerçek pozisyonun biraz arkasında render et
emitter.Rotation = NumberRange.new(0, 360) -- Rastgele bir rotasyonda başla
emitter.RotSpeed = NumberRange.new(0) -- Simülasyon sırasında dönme
-- Parçacıkların tam olarak aynı noktadan yayılması için bir ekleme oluşturun (konkav halkalar)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Eklemeyi biraz yukarı hareket ettir
attachment.Parent = script.Parent
emitter.Parent = attachmentAPI Referansı
Özellikler
Texture
ParticleEmitter.Texture:ContentId
VelocitySpread
Yöntemler
Clear
ParticleEmitter:Clear():()
Dönüşler
()
Kod Örnekleri
Parçacık Yayıcı Patlaması
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
endEmit
Parametreler
| Varsayılan değer: 16 |
Dönüşler
()
Kod Örnekleri
Parçaları Mesafe Boyunca Yay
local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = falseParçacık Yayıcı Patlaması
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end