Skip to content

Sound ​

继承自:

描述 ​

一个发出声音的对象。声音的音量将由客户端的声音侦听器(默认情况下为“摄影机”位置)和声音父对象的位置之间的距离决定。如果声音被设置为“全局”声音,在这种情况下,声音将在整个地方以相同的音量播放。

属性 ​

ModelAssetType  SoundPath
声音资源路径
Button  Play
试听
float  Volume
声音音量大小
bool  IsLoop
该声音是否重复播放
bool  PlayOnRemove
设置为true时,会在移除节点后播放一次声音
SandboxNode  TransObject
设置为某个Transform节点后,Sound将在该节点的位置播放(3D声音),若Transform与FixPos均未设置,则为全局播放(2D声音)
Vector3  FixPos
设置后,若没有指定Transform,则在指定位置(Vector3)播放3D声音
bool  IsFixPosPlay
为true时代表正在FixPos属性所指位置播放3D声音
EnumRollOffMode  RollOffMode
声音衰减模式,包括逆衰减(默认),线性衰减,线性平方衰减,锥型逆衰减模式
float  RollOffMaxDistance
声音衰减最大距离
float  RollOffMinDistance
声音衰减最小距离
int  SoundPosition
声音播放位置(以毫秒为单位)

函数 ​

void  PlaySound ()
播放/继续播放声音(调用后IsPlaying为true,IsPaused为false)
void  StopSound ()
停止播放声音(调用后IsPlaying为false)
void  ResumeSound ()
重新播放声音(声音将从头开始播放)
void  PauseSound ()
暂停声音(调用后IsPaused为true)
void  SoundSyncMode ()
设置同步模式

事件 ​

Sound实例播放结束时触发该事件

代码示例 ​

lua
local part = script.Parent --获取父节点
local sound = SandboxNode.New('Sound', part) --创建Sound节点
sound.SoundPath ="sandboxSysId://sounds/npc/chest.ogg" --设置资源路径
--sound.TransObject = script.Parent --绑定TransObject(播放3D声音)
sound.IsLoop = true --设置循环播放
--sound.PlayOnRemove = true --设置移除时播放
sound.RollOffMode = Enum.RollOffMode.Linear --设置声音衰减模式
sound.RollOffMinDistance = 300
sound.RollOffMaxDistance = 700
sound:PlaySound() --播放函数

--播放结束事件
sound.PlayFinish:Connect(function(node) 
    node:Destroy()
    print("sound is Destroy")
end)