Class.Sound는 음을 내는 개체입니다.
2D 및 3D 사운드
음향은 음향 배치체의 위치에 따라 Class.BasePart.Position 또는 부착물의
음향이 BasePart 또는 Attachment에 부모로 지정되지 않은 경우 전체 플레이스동일한 볼륨로 재생됩니다.
코드 샘플
local part = Instance.new("Part")
part.Anchored = true
part.Position = Vector3.new(0, 3, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Name = "MusicBox"
part.Parent = workspace
-- create a sound
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- decrease the emitter size (for earlier volume drop off)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- toggle the sound playing / not playing
clickDetector.MouseClick:Connect(function()
if not sound.IsPlaying then
part.BrickColor = BrickColor.new("Bright green")
sound:Play()
else
part.BrickColor = BrickColor.new("Bright red")
sound:Stop()
end
end)
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
요약
속성
이 속성은 Sound 가 Roblox 서버에서 로드된 후 플레이할 준비가 되었을 때 트루가 됩니다.
이 읽기 전용 속성은 Sound가 재생되지 않을 때 트루로 반환됩니다.
이 읽기 전용 속성은 Sound가 재생할 때 트루로 반환됩니다.
Class.Sound.PlaybackRegion 내에서 원하는 시작 및 끝 루프를 지정하는 범위, 초 단위로 표시됩니다.
이 옵션은 Sound가 플레이할 때 반복되는지 여부를 설정합니다.
Class.Sound 는 게임에서 제거된 후 플레이됩니다.父親으로 Sound 또는 하위인 Class.Sound 을 지정하거나 제로로 지정하면 플레이됩니다.
Class.Sound 이 현재 재생되고 있는 볼륨을 나타내는 숫자(0에서 1000까지).
Class.Sound.TimeLength 내에서 원하는 시작(최소) 및 중지(최대) 시간을 나타내는 범위.
이 속성이 진실 인 경우, 이 속성은 Sound 에 액세스하여 Sound.PlaybackRegion 및 2>클래스 사운드 루프 지역2> 속성에 액세스할 수 있습니다. 이를 통해 플레이백을 더 정확하게 제어할 수 있습니다.
Class.Sound 이 플러그인이 플레이할 속도를 결정하고, 더 높은 값이 사운드를 더 빠르게 재생하고 더 높은 주파수에서 재생하게 합니다.
현재 Sound가 재생 중인지 여부를 나타냅니다.
클라이언트의 리스너가 원본 Sound\s 에서 최대 거리를 이동할 수 있지만 여전히 들을 수 있습니다. 3D 음향에 대해서만 적용됩니다.
3D Sound (직접 자식 of a BasePart 또는 Attachment )가 시작되는 최소 거리(부피 감소).
3D Sound (부모에게 Class.BasePart) 또는 BasePart 과 같이 볼륨이 부모의 변경 사이의 거리를 나타냅니다.
이 음향 그룹에 연결된 SoundGroup 는 이 음향 그룹에 적용된 음향 및 음향효과가 음향에 적용됩니다. 음향은 한 음향 그룹에 대해 한 번만 있을 수 있습니다.
이 속성은 Sound 개체와 연결된 사운드 파일의 콘텐츠 ID입니다. 사운드가 Roblox에 업로드된 후 콘텐츠 ID는 업로드된 사운드의 URL에서 찾을 수 있습니다.
Class.Sound 의 진행 상황을 보여줍니다. 플레이백 위치를 변경하여 플레이백 시작 위치와 종료 위치를 모두 변경할 수 있습니다.
Class.Sound 의 볼륨. 기본값은 0 이상 10 이하입니다. 기본값은 0.5입니다.
메서드
Class.Sound.Playing를 false로 설정합니다. 이렇게 하면 음향이 재생되는 경우 Sound의 재생이 일시 중지됩니다. Sound.TimePosition가 초기화되지 않으면 1>Class.Sound1>가 재시작되면 이전 위치에서 계속됩니다.
플레이어는 Sound 을 재생합니다. Sound.TimePosition 는 마지막으로 Script (또는 0이 아닌 경우) 에 설정된 값으로 설정됩니다, 그리고 설정된 값의 변경 값을 설정하여 1> Class.Sound.Playing1> 를 트루로 설정합니다.
Resumes the Sound. Sound.Playing 를 true로 설정합니다. Sound.TimePosition 을 변경하지 않고 따라서 플레이백을 재시작하는 데 사용할 수 있습니다. 2>Class.Sound:Pause2> 를 사용하여 플레이백을 재시작하는 경우 5>Class.Sound.TimePosition5> 를 변경
Class.Sound 을 중지합니다. Sound.Playing 을 false로 설정한 다음 Sound.TimePosition 를 0으로 설정합니다.
이벤트
Class.Sound 루프가 발생할 때마다 이벤트가 발생합니다. 사운드 ID와 이벤트 루프 수를 반환합니다.
Class.Sound 가 플레이백을 완료하고 중지하면 화재가 발생합니다.
Class.Sound 를 로드할 때 화재됩니다.
Class.Sound:Pause()를 사용하여 Sound:Pause()를 일시 중지할 때마다 발생합니다.
Class.Sound:Play() 함수를 사용하여 Class.Sound:Play 가 재생될 때마다 화재됩니다.
Class.Sound:Resume()를 사용하여 Sound:Resume() 가 재시작되면 화재가 발생합니다.
Class.Sound:Stop 함수로 인해 Sound:Stop()가 중지되면 화재가 발생합니다.
속성
ChannelCount
IsLoaded
이 속성은 Sound 가 Roblox 서버에서 로드된 후 플레이할 준비가 되었을 때 트루가 됩니다.
In Roblox, audio 파일은 게임 자체에 저장되지 않고 Roblox 서버에 호스팅되며 Sound.SoundId 속성에 참조됩니다. 이를 통해 클라이언트에 오디오를 재생할 수 있기 전에 다운로드해야 하는 경우가 있습니다. 이는 사용자의 인터넷 연결, 음향
개발자는 Sound.IsLoaded 속성 및 Sound.Loaded 이벤트를 사용하여 사운드를 플레이하기 전에 사운드를 로드한 경우 확인할 수 있습니다.
코드 샘플
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
이 읽기 전용 속성은 Sound 가 재생되지 않을 때 트루로 반환됩니다. 이 속성은 Sound:Pause() 함수를 사용하여 음향을 일시 중지하거나 Sound:Stop() 함수를 사용하여 항상 재생하지 않는 경우에도 트루로 반환됩니다.
이 속성은 Sound.IsPlaying가 거짓이 아닐 때만 참이 됩니다.
As IsPaused는 읽기 전용이므로 사운드를 중지하는 데 사용할 수는 없습니다. Sound:Stop() 및 Sound:Pause()를 대신 사용해야 합니다.
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
IsPlaying
이 읽기 전용 속성은 Sound가 재생할 때 트루로 반환됩니다.
이 속성은 Sound.IsPaused가 거짓인 경우에만 사용할 수 있습니다.
As IsPlaying이 읽기 전용이므로 사운드를 재생할 수는 없습니다. Sound:Play() 대신 사용해야 합니다.
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
LoopRegion
사운드의 Sound.PlaybackRegion 내에서 원하는 루프 시작 및 루프 끝을 나타내는 범위.
LoopRegion.Min 이상으로 시작하는 경우 루프는 PlaybackRegion.Min 에서 시작합니다.
Class.Sound.PlaybackRegion|PlaybackRegion.Min 이 경우 루프는 PlaybackRegion.Min 에서 시작됩니다.
Class.Sound.PlaybackRegion|PlaybackRegion.Max 이 경우 루프는 PlaybackRegion.Max 에서 시작합니다.
Class.Sound.PlaybackRegion|PlaybackRegion.Max 로 시작하는 루프는 정확히 그 시간에 시작합니다.
Class.Sound.PlaybackRegion이 LoopRegion.Max 보다 작다면, Sound는 대신 1>Class.Sound.PlaybackRegion1> 속성을 사용합니다.
Looped
이 옵션은 Sound가 플레이할 때 반복되는지 여부를 설정합니다.
반복되는 음향은 음악 및 배경 음향과 같은 다양한 응용 프로그램에 적합합니다. Sound.DidLoop 이벤트를 사용하여 음향이 반복된 횟수를 추적할 수 있습니다.
코드 샘플
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local function onCharacterAdded(character)
-- wait for the head to be added
local head = character:WaitForChild("Head")
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = head
sound.Looped = true
sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print("oof! " .. tostring(numOfTimesLooped))
end)
sound:Play()
end
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
PlayOnRemove
Class.Sound 는 게임에서 제거된 후에 플레이됩니다.
Class.Sound 또는 그 조상 중 하나가 PlayOnRemove를 설정하면 음향이 재생됩니다. 이는 모든 다음을 포함합니다. Sound 또는 PlayOnRemove를 설정하면 모든 음향이 재생됩니다. 이는 모든 다음을 포함합니다. Instance:Destroy() 는 부모를 일
음향: 파괴() 음향.Parent = nil 음향.Parent = nil
코드 샘플
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = workspace
sound.PlayOnRemove = true
task.wait(3)
sound:Destroy()
PlaybackLoudness
Class.Sound 이 현재 재생되고 있는 볼륨을 나타내는 숫자(0에서 1000까지).
이 속성은 시간이 지남에 따라 음향의 재생 케이스에 대한 음의 흐름을 반영합니다. 따라서 대부분의 음향은 일정한 흐름을 가질 수 없습니다. 이로 인해 Roblox Studio 속성 창에 0이 표시될 수 있지만, 명령 바에서 코드로 읽을 때 나타나는 값은 올바를 반환합니다
코드 샘플
-- to be placed in StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
-- wait for local player PlayerGui
local LocalPlayer = Players.LocalPlayer
local playerGui = LocalPlayer:WaitForChild("PlayerGui")
-- create a ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
-- create a holder for our bar
local frame = Instance.new("Frame")
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.Size = UDim2.new(0.3, 0, 0.05, 0)
frame.Parent = screenGui
-- create a bar
local bar = Instance.new("Frame")
bar.Position = UDim2.new(0, 0, 0, 0)
bar.Size = UDim2.new(1, 0, 1, 0)
bar.BackgroundColor3 = Color3.new(0, 1, 0)
bar.Parent = frame
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = screenGui
sound:Play()
-- define a max loudness
local maxLoudness = 30
-- animate the amplitude bar
while true do
local amplitude = math.clamp(sound.PlaybackLoudness / maxLoudness, 0, 1)
bar.Size = UDim2.new(amplitude, 0, 1, 0)
wait(0.05)
end
PlaybackRegion
Class.Sound.TimeLength 내에서 원하는 시작(최소) 및 중지(최대) 시간을 나타내는 범위.
PlaybackRegion.Min > 0인 경우, 재생 지역에서 시간에 따라 음악이 재생됩니다.If PlaybackRegion.Min > 0, the sound begins to play from the PlaybackRegion.Min time.
PlaybackRegion.Min < 0인 경우 사운드가 0에서 재생됩니다.
PlaybackRegion.Max > Sound.TimeLength 이면 사운드가 Sound.TimeLength 에 중지됩니다.
PlaybackRegion.Max < Sound.TimeLength 이하면 사운드가 정확히 그 시간에 중지됩니다.
PlaybackRegion.Min == PlaybackRegion.Max인 경우 PlayBackRegion이 비활성화되어 있습니다.
PlaybackRegionsEnabled
이 속성이 진실 인 경우, 이 속성은 Sound 에 액세스하여 Sound.PlaybackRegion 및 2>클래스 사운드 루프 지역2> 속성에 액세스할 수 있습니다. 이를 통해 플레이백을 더 정확하게 제어할 수 있습니다.
PlaybackSpeed
Class.Sound 이 플레이할 속도를 결정합니다. 값이 클수록 소리가 더 빨리 재생됩니다.
예를 들어, 2의 값은 Sound가 2x 더 빠르게 재생되도록 하지만, 0.5의 값은 Sound.TimeLength (in 초) 동안 재생됩니다. 플레이백 속도가 1인 경우, 음향이 완료될 때까지 Class.Sound.TimeLength (in 초)가 필요합니다.
음향 재생 속도를 높이면 음향이 더 높은 주파수에서 재생되므로 주의하십시오.
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x faster
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x slower
task.wait(5)
sound.PlaybackSpeed = 1 -- default
Playing
Class.Sound 이 현재 플레이 중인지 여부를 나타냅니다. 이 속성은 전환할 수 있으며 항상 복제됩니다.
In the studio editor, Sounds 은 시간이 중지되기 때문에 플레이할 수 없습니다. 편집 모드에서 Sound.Playing 를 설정하여 진정으로 작동하지 않지만, 플러그인 내에서 오디오를 재생하려면 Class.Sound|Sounds
이 속성은 Sound.IsPlaying 이 아닙니다. 이는 읽기 전용 속성입니다. 플레이 시작 또는 중지를 위해 true 또는 false를 설정할 수 있습니다.
플레이가 false로 설정된 경우 Playing 속성의 음향이 재설정되지 않습니다. 즉, Playing가 다시 설정되면 오디오가 중지된 위치에서 계속됩니다. 그러나 Class.Sound:Play() 함수를 사용하여 오디오를 재시작하면 시간 위치가 0으로 재설정됩니다.
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
print("playing sound")
sound.Playing = true
task.wait(10)
print("stopping sound")
sound.Playing = false
task.wait(5)
sound.Playing = true
local timePosition = sound.TimePosition
print("resumed at time position: " .. tostring(timePosition)) -- c. 10 seconds
RollOffMaxDistance
클라이언트의 리스너가 원본 Sound에서 최대 거리를 이동하면 여전히 들을 수 있습니다. Part 또는 Attachment (3D 음향)에 부모된 음향에만 적용됩니다.
RollOffMaxDistance가 사운드의 억측(사라지는 방식)에 어떤 영향을 미치는지는 Sound.RollOffMode 속성에 달려 있습니다. 롤오프 모드가 역방향 유형 거리 모델(역방향
RollOffMode가 직선 유형 거리 모델(직선 또는 직사각형)으로 설정되면 사운드는 Sound.EmitterSize 및 MaxDistance(플레이백 볼륨이 0에 도달하면 재생이 중지) 사이에서 억제됩니다. 이 것은 덜 현실적이지만, 일부 경우에서는 보다 직관적인 방식으로 억제를
RollOffMinDistance
3D Sound (직접 자식 of a BasePart 또는 Attachment )가 시작되는 최소 거리(부피 감소).
Class.BasePart 또는 Attachment 는 클라이언트의 사운드 수신기( Workspace 포지션) 와 사운드의 부모( 1>Class.Workspace1> 포지
Class.Sound 이 음향 장치 사이의 거리가 롤오프모드에 따라 롤오프분리 거리(RollOffMinDistance)를 초과하면 음향 장치가 켜지지 않도록 하는 방법은 롤오프모드에 따라 롤오프모드에 따라 음향 장치가 켜지지 않도록 하는 방법은 롤오프모드에 따라 다릅니다.
RollOffMode
이 속성은 듣기 장치와 음향의 부모 간의 거리를 기준으로 3D Sounds 의 흡수(흡수)를 조정하는 방법을 설정합니다. 이 속성은 음향 엔진의 열거형에 설정될 수 있습니다.
다음 코드는 RollOffMode를 직선으로 설정합니다.
sound.RollOffMode = Enum.RollOffMode.Linear
다양한 모드
다음 옵션이 사용 가능합니다:
<tbody><tr><td>역</td><td>볼륨은 <code>음향/롤오프 미니 거리</code>에서 역방향 방식으로 얻을 수 있습니다.</td></tr><tr><td>역방향 탭</td><td>하이브리드 모델. <code>RollOffMinDistance</code> 및 <code>Sound/RollOffMaxDistance</code>에 가까이 있을 때 역방향 모델을 따릅니다.</td></tr><tr><td>직선</td><td>Volume은 <code>RollOffMinDistance</code> 및 <code>Sound/RollOffMaxDistance</code> 와 직선 관계로 축소됩니다.</td></tr><tr><td>직사각형</td><td>Volume은 <code>RollOffMinDistance</code> 및 <code>사운드/RollOffMaxDistance</code> 와 직선 관계로 조정됩니다.</td></tr></tbody>
모드 | 설명 |
---|
역 대 직선 거리 감소
기본적으로 음향 효과는 음향 효과가 실제 세계에서 어떻게 얼마나 손실되는지 보여주는 음향 거리 조정(음향 거리 조정)이 설정됩니다. 음향 거리 조정은 음향 효과가
롤오프 맥스 거리에 영향을 주지 않지만 이 거리에 도달하면 사운드가 완전히 차단되게 됩니다. 이 경우 최대 거리에 대한 값을 낮게 설정할 때 특히 높습니다.
직선 거리 조정은 다르게 작동합니다. 직선 거리 조정에서 사운드는 MaxDistance에 도달하면 즉시 침묵합니다. 직선 거리 조정에서 사운드의 시작 점은 EmitterSize에서 MaxDistance로 변경됩니다. 따라
SoundGroup
이 음향 그룹은 SoundGroup 에 연결되는 음향 그룹입니다. Sound 및 SoundGroup.Volume 는 이 음향 그룹에 적용됩니다. 2>Class.SoundGroup2> 에는 음향 그룹이 하나만 있을 수 있습니다.
SoundGroups 는 여러 Sounds 를 한 번에 관리하는 데 사용됩니다. 음향 그룹 Sound 이 음향 그룹의 속성을 설정하여 음향 그룹 0>Class.SoundGroup0> 에 추가됩니다.
코드 샘플
local SoundService = game:GetService("SoundService")
-- create a sound group
local soundGroup = Instance.new("SoundGroup")
soundGroup.Parent = SoundService
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.SoundGroup = soundGroup
sound.Parent = workspace
-- play the sound
sound:Play()
task.wait(10)
-- change the volume
soundGroup.Volume = 0.1
task.wait(3)
-- return the volume
soundGroup.Volume = 0.5
task.wait(4)
-- add a sound effect
local reverb = Instance.new("ReverbSoundEffect")
reverb.Parent = soundGroup
SoundId
이 속성은 Sound 개체와 연결된 사운드 파일의 콘텐츠 ID입니다. 사운드가 Roblox에 업로드된 후 콘텐츠 ID는 업로드된 사운드의 URL에서 찾을 수 있습니다.
콘텐츠 ID가 아닌 URL을 기억하는 것이 중요합니다. Roblox Studio의 Sound 속성에 직접 붙여넣으면 작동하지만, Studio가 자동으로 수정하므로 Script 에서 설정하는 경우 올바른 콘텐츠 ID가 필요합니다. 예
"https://www.roblox.com/catalog/9120386436" -- 웹 URL(작동하지 않음)"http://www.roblox.com/asset/?id=9120386436" -- 콘텐츠 ID(작동)"rbxassetid://9120386436" -- Content ID (alternative version, will work)
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
TimeLength
초 단위의 Sound 의 길이. Sound 가 로드되지 않으면 이 값은 0이 됩니다.
이 속성은 일반적으로 Sound.PlaybackSpeed와 함께 사용되어 음향 속도를 조정하여 특정 지속 시간(예: 예시) 동안 지속됩니다. Sound.PlaybackSpeed 가 1일치하면 음향이 지속될 때까지 걸리는 시간(초)이 됩니다.
코드 샘플
local function playForDuration(sound, duration)
if not sound.IsLoaded then
sound.Loaded:wait()
end
local speed = sound.TimeLength / duration
sound.PlaybackSpeed = speed
sound:Play()
end
local sound = script.Parent
playForDuration(sound, 5)
TimePosition
Class.Sound 의 진행 상황을 보여 줍니다. 음향 위치를 이동하려면 변경할 수 있습니다. 음향이 이미 재생 되고 있다면 재생이 지정된 위치로 스냅됩니다. 음향이 다음에 재생되면 Sound 는 재생을 시작하기 위해 설정된 위치에서 플레이백을 스
Class.Sound.PlaybackSpeed 이 플러그인을 플레이할 때마다 시간 위치는 Sound.PlaybackSpeed 초당 Sound.TimeLength 증가합니다. 시간 위치가 1>Class.Sound.TimeLength1> 이상
TimePosition를 루프 트랙의 길이보다 큰 값으로 설정하면 트랙을 감싸지 않습니다. 이 동작을 원하는 경우 개발자는 팔로잉수행해야 합니다.
새로운 위치가 sound.TimeLength보다 작다면 newPosition = newPosition - sound.TimeLength 끝 sound.Position = newPosition
현재 Playback에 영향을 주지 않지만 TimePosition를 0보다 작게 설정하면 재생이 영향을 받지 않습니다. 이 동작은 신뢰하지 마십시오.
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Parent = workspace
sound.TimePosition = 30
sound:Play()
task.wait(5)
sound.TimePosition = 100
task.wait(5)
sound.TimePosition = 0
Volume
Class.Sound의 볼륨. 기본값은 0에서 10 사이입니다. 0.5에 대한 기본값입니다.
Class.SoundGroup의 플레이백 볼륨(하지만 볼륨 속성이 아님)은 그 SoundGroup 의 플레이백 볼륨(하지만 볼륨 속성이
코드 샘플
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.Parent = workspace
sound.Volume = 2
sound:Play()
task.wait(7)
sound.Volume = 0.2
메서드
Pause
Class.Sound.Playing를 false로 설정합니다. 이렇게 하면 소리가 재생되는 경우 Sound의 플레이백이 일시 중지됩니다. Sound:Stop()과 달리 1>Class.Sound:Resume1>를 사용하여 소리를 재개할 수 있습니
다른 음향 함수의 영향은 Sound.Playing 및 Sound.TimePosition 에 표시됩니다.
<tbody><tr><td>사운드:Play()</td><td>진실</td><td>Lua에서 마지막으로 설정된 값(기본값 0)</td></tr><tr><td>음향: 일시 중지()</td><td>거짓</td><td>-</td></tr><tr><td>음향: 재시작()</td><td>진실</td><td>-</td></tr><tr><td>사운드:Stop()</td><td>거짓</td><td>0</td></tr></tbody>
함수 | 사운드.플레이 | 사운드.타임포지션 |
---|
반환
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Play
플레이어는 Sound 을 재생합니다. Sound.TimePosition 는 마지막으로 Script (또는 0이 아닌 경우) 에 설정된 값으로 설정됩니다, 그리고 설정된 값의 변경 값을 설정하여 1> Class.Sound.Playing1> 를 트루로 설정합니다.
다른 Sound 함수에 대한 영향은 다음에 표시됩니다. Sound.Playing 및 Sound.TimePosition 에 대한 영향은 아래에 표시됩니다.
<tbody><tr><td>사운드:Play()</td><td>진실</td><td>Lua에서 마지막으로 설정된 값(기본값 0)</td></tr><tr><td>음향: 일시 중지()</td><td>거짓</td><td>-</td></tr><tr><td>음향: 재시작()</td><td>진실</td><td>-</td></tr><tr><td>사운드:Stop()</td><td>거짓</td><td>0</td></tr></tbody>
함수 | 사운드.플레이 | 사운드.타임포지션 |
---|
반환
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resume
Resumes the Sound. Sound.Playing 를 true로 설정합니다. Sound.TimePosition 을 변경하지 않고 따라서 플레이백을 재시작하는 데 사용할 수 있습니다. 2>Class.Sound:Pause2> 를 사용하여 플레이백을 재시작하는 경우 5>Class.Sound.TimePosition5> 를 변경
다른 음향 함수의 영향은 Sound.Playing 및 Sound.TimePosition 에 표시됩니다.
<tbody><tr><td>사운드:Play()</td><td>진실</td><td>Lua에서 마지막으로 설정된 값(기본값 0)</td></tr><tr><td>음향: 일시 중지()</td><td>거짓</td><td>-</td></tr><tr><td>음향: 재시작()</td><td>진실</td><td>-</td></tr><tr><td>사운드:Stop()</td><td>거짓</td><td>0</td></tr></tbody>
함수 | 사운드.플레이 | 사운드.타임포지션 |
---|
반환
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stop
Class.Sound 을 중지합니다. Sound.Playing 을 false로 설정한 다음 Sound.TimePosition 를 0으로 설정합니다.
다른 음향 함수의 영향은 Sound.Playing 및 Sound.TimePosition 에 표시됩니다.
<tbody><tr><td>사운드:Play()</td><td>진실</td><td>Lua에서 마지막으로 설정된 값(기본값 0)</td></tr><tr><td>음향: 일시 중지()</td><td>거짓</td><td>-</td></tr><tr><td>음향: 재시작()</td><td>진실</td><td>-</td></tr><tr><td>사운드:Stop()</td><td>거짓</td><td>0</td></tr></tbody>
함수 | 사운드.플레이 | 사운드.타임포지션 |
---|
반환
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
이벤트
DidLoop
Class.Sound 루프가 발생할 때마다 이벤트가 발생합니다. 사운드 ID와 이벤트 루프 수를 반환합니다.
Class.Sound 이 중단되면 반복된 카운터 리셋으로 이어지며 다음 DidLoop 이벤트가 1로 반환됩니다.
매개 변수
Class.Sound 이 루프된 횟수.
코드 샘플
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
Ended
Class.Sound 가 플레이백을 완료하고 중지하면 이 이벤트가 발생합니다. 이 이벤트는 종료에 도달한 후 계속 플레이하는 음향에 대해서는 발생하지 않습니다.
이 이벤트는 플레이백을 완료한 후 사운드를 파괴하는 데 종종 사용됩니다.
sound:Play()sound.Ended:Wait()sound:Destroy()
이 이벤트는 사운드가 종료도달했을 때만 발생합니다. 즉, 사운드가 플레이백을 완료하기 전에 중지되면 발생하지 않습니다. 이 경우 Sound.Stopped입니다.
매개 변수
종료된 Sound.SoundId의 Sound 이다.
Loaded
Sound.Loaded 이벤트는 Sound 가 로드될 때 발생합니다.
이 이벤트는 사운드가 로드된 시간에만 발생합니다. 즉, 사운드가 이미 로드된 시간에 듣기를 위해 연결하는 경우 반환하지 않습니다. 따라서 이 이벤트에 연결하기 전에 Sound.IsLoaded를 확인하는 것이 좋습니다.
매개 변수
로드된 Sound.SoundId의 Sound 클래스.
코드 샘플
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Class.Sound:Pause()를 사용하여 Sound:Pause()를 일시 중지할 때마다 발생합니다.
Class.Sound.Played, Sound.Resumed 및 Sound.Stopped과 마찬가지로 오직 해당 사운드 기능만이 이벤트를 발생시킵니다. 즉, 일시 중지는 1>Class.Sound:Pause()1> 이 호출될 때만 발생합니다. 이는 4>Class.Sound:Pause
매개 변수
중지된 Sound.SoundId의 Sound입니다.
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Played
Class.Sound:Play() 함수를 사용하여 Class.Sound:Play 가 재생될 때마다 화재됩니다.
Class.Sound.Stopped, Sound.Paused 및 Sound.Resumed과 마찬가지로 오직 해당 사운드 기능만이 이벤트를 발생시킵니다. 즉
매개 변수
재생된 Sound.SoundId의 Sound 클래스.
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Class.Sound:Resume()를 사용하여 Sound:Resume() 가 재시작되면 화재가 발생합니다.
Class.Sound.Played, Sound.Paused 및 Sound.Stopped과 마찬가지로 이벤트가 발생하는 유일한 소리 함수는 각각의 소리 함수입니다. 이것은 1>Class.Sound:Resume()1> 이 호출될 때만 재시작이 발생합니다. 즉, 4>Class.Sound
매개 변수
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Class.Sound:Stop 함수로 인해 Sound:Stop()가 중지되면 화재가 발생합니다.
Class.Sound.Played, Sound.Paused 및 Sound.Resumed과 마찬가지로 이벤트가 발생하는 유일한 사운드 함수는 각각의 사운드 함수입니다. 이것은 Stopped가 플레이할 때만 발생하는 것을 의미합니다. 소리를
매개 변수
중지된 Sound.SoundId의 Sound 이다.
코드 샘플
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0