Engine Class
SoundService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
คุณสมบัติ
วิธีการ
OpenAttenuationCurveEditor(selectedCurveObjects: Instances):() |
OpenDirectionalCurveEditor(selectedCurveObjects: Instances):() |
PlayLocalSound(sound: Instance):() |
SetListener(listenerType: Enum.ListenerType,listener: Tuple):() |
ตัวอย่างโค้ด
ระบบรีเวิร์บไดนามิก
local Players = game:GetService("Players")
local CollectionService = game:GetService("CollectionService")
local SoundService = game:GetService("SoundService")
local localPlayer = Players.LocalPlayer
local reverbTags = {
["reverb_Cave"] = Enum.ReverbType.Cave,
}
-- เก็บรวบรวมส่วนและจัดกลุ่มตามแท็ก
local parts = {}
for reverbTag, reverbType in pairs(reverbTags) do
for _, part in pairs(CollectionService:GetTagged(reverbTag)) do
parts[part] = reverbType
end
end
-- ฟังก์ชันเพื่อตรวจสอบว่าตำแหน่งอยู่ในขอบเขตของส่วนหรือไม่
local function positionInPart(part, position)
local extents = part.Size / 2
local offset = part.CFrame:PointToObjectSpace(position)
return offset.x < extents.x and offset.y < extents.y and offset.z < extents.z
end
local reverbType = SoundService.AmbientReverb
while true do
task.wait()
if not localPlayer then
return
end
local character = localPlayer.Character
-- ตั้งค่าเริ่มต้นเป็นไม่มีรีเวิร์บ
local newReverbType = Enum.ReverbType.NoReverb
if character and character.PrimaryPart then
local position = character.PrimaryPart.Position
-- ผ่านทุกส่วนที่ทำดัชนี
for part, type in pairs(parts) do
-- ดูว่าตัวละครอยู่ในส่วนเหล่านั้นหรือไม่
if positionInPart(part, position) then
-- หากเป็นเช่นนั้น ให้เลือกประเภทรีเวิร์บนั้น
newReverbType = type
break
end
end
end
-- ตั้งค่าประเภทรีเวิร์บหากมีการเปลี่ยนแปลง
if newReverbType ~= reverbType then
SoundService.AmbientReverb = newReverbType
reverbType = newReverbType
end
endเอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
วิธีการ
OpenAttenuationCurveEditor
SoundService:OpenAttenuationCurveEditor(selectedCurveObjects:Instances):()
พารามิเตอร์
selectedCurveObjects:Instances |
ส่งค่ากลับ
()
OpenDirectionalCurveEditor
SoundService:OpenDirectionalCurveEditor(selectedCurveObjects:Instances):()
พารามิเตอร์
selectedCurveObjects:Instances |
ส่งค่ากลับ
()
SetListener
พารามิเตอร์
ส่งค่ากลับ
()