Skip to content

Sound ​

属性 ​

string  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声音
RollOffMode  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)