Lớp công cụ
SoundService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Tóm Tắt
Thuộc Tính
Phương Pháp
OpenAttenuationCurveEditor(selectedCurveObjects: Instances):() |
OpenDirectionalCurveEditor(selectedCurveObjects: Instances):() |
PlayLocalSound(sound: Instance):() |
SetListener(listenerType: Enum.ListenerType,listener: Tuple):() |
Mẫu mã
Hệ Thống Echo Động
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,
}
-- thu thập các phần và nhóm chúng theo thẻ
local parts = {}
for reverbTag, reverbType in pairs(reverbTags) do
for _, part in pairs(CollectionService:GetTagged(reverbTag)) do
parts[part] = reverbType
end
end
-- hàm kiểm tra xem một vị trí nằm trong kích thước của một phần hay không
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
-- mặc định là không có echo
local newReverbType = Enum.ReverbType.NoReverb
if character and character.PrimaryPart then
local position = character.PrimaryPart.Position
-- duyệt qua tất cả các phần đã chỉ mục
for part, type in pairs(parts) do
-- xem liệu nhân vật có nằm trong chúng không
if positionInPart(part, position) then
-- nếu có, chọn loại echo đó
newReverbType = type
break
end
end
end
-- đặt loại echo nếu nó đã thay đổi
if newReverbType ~= reverbType then
SoundService.AmbientReverb = newReverbType
reverbType = newReverbType
end
endTài Liệu Tham Khảo API
Thuộc Tính
Phương Pháp
OpenAttenuationCurveEditor
SoundService:OpenAttenuationCurveEditor(selectedCurveObjects:Instances):()
Tham Số
selectedCurveObjects:Instances |
Lợi Nhuận
()
OpenDirectionalCurveEditor
SoundService:OpenDirectionalCurveEditor(selectedCurveObjects:Instances):()
Tham Số
selectedCurveObjects:Instances |
Lợi Nhuận
()
SetListener
Tham Số
Lợi Nhuận
()