用户:Tobylai查看:40 回复:20 评论:40 创建时间:2020-08-24T13:46:46
控制声效 属性 action0Sound
• action0Sound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家按下 'action0' 按键(即电脑鼠标左键 / 手机虚拟按钮A)时,播放的音效。
• action1Sound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家按下 'action1' 按键(即电脑鼠标右键 / 手机虚拟按钮B)时,播放的音效。
• crouchSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家蹲着走路时,播放的音效。(循环播放)
jumpSound• jumpSound: Box3SoundEffect‹› = new Box3SoundEffect()
玩家进行跳跃时,播放的音效。默认为 'audio/jump.mp3'
• landSound: Box3SoundEffect‹› = new Box3SoundEffect()
玩家落地时,播放的音效。默认为 'audio/land.mp3'
• doubleJumpSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家触发二段跳时,播放的音效。默认为 'audio/double_jump.mp3'
• enterWaterSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家进入液体时,播放的音效。默认为'audio/dive.mp3'
• leaveWaterSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家离开液体时,播放的音效。默认为'audio/splash.mp3'
• swimSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家正在游泳时,播放的音效。默认为'audio/swim.mp3'
注:游泳的音效在前进时才会循环播放。如果在水中静止不动,不会播放音效。
spawnSound• spawnSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家重生时,播放的音效。默认为'audio/spawn.mp3'
• stepSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家行走时,每迈出一步,播放的音效。默认为'audio/step.mp3'
• startFlySound: Box3SoundEffect‹› = new Box3SoundEffect()
玩家开始飞行时的音效。
stopFlySound• stopFlySound: Box3SoundEffect‹› = new Box3SoundEffect()
玩家结束飞行时播放的音效。
方法• sound: function
为指定的玩家播放声音,此声音仅该玩家能听见,其他玩家无法听到。
参数:
spec:{sample, gain, pitch} | string
sample:string 必填,声音文件路径。可在文件管理器中上传自定义声音。如 'audio/chat.mp3'
gain?:number 可选,音量增益。正常为1,数值越大,声音越响。
pitch?:number 可选,音高增益。正常为1,大于1,声音播放越快,小于1,声音播放越慢。
示例代码1
// 玩家进入范围时,播放 `boost` 声音特效。
const area = world.addTrigger({
selector: 'player',
bounds: {
lo: [59, 8, 59],
hi: [66, 20, 66],
},
})
// 有玩家进入区域
area.onEnter(({ entity }) => {
entity.player.sound('audio/whistle.mp3')
});
// 有玩家离开区域
area.onLeave(({ entity }) => {
entity.player.sound('audio/boost.mp3')
});
控制音效 上传音效
编辑器目前内置了34款音效,可以在菜单- [文件管理] 的搜索 .mp3 查看。点击文件后,会弹出声音文件的详情属性。点击 位置 即可复制文件路径,在脚本中使用对应的方法播放。
如需上传自定义声音,可以 [文件管理] 窗口左下角,点击浮动的黄色加号按钮- [上传音频] 。
属性 chatSound• chatSound: Box3SoundEffect‹› = new Box3SoundEffect()
当玩家在聊天频道说话时,播放聊天音效。默认为 'audio/chat.mp3'
• dieSound: Box3SoundEffect‹› = new Box3SoundEffect()
当实体触发喵亡事件时,播放喵亡音效。默认为 'audio/die.mp3'
• hurtSound: Box3SoundEffect‹› = new Box3SoundEffect()
当实体触发受伤事件时,播放受伤音效。默认为 'audio/hurt.mp3'
• interactSound: Box3SoundEffect‹› = new Box3SoundEffect()
当实体进行互动时,播放互动音效。
方法 sound• sound: function
在实体的位置播放声音。
参数
spec:{sample, radius, gain, pitch} | string
sample:string 必填,声音文件路径。可在文件管理器中上传自定义声音。如 'audio/chat.mp3'
radius?:number 可选,声音范围。默认为32。距离实体越近,声音听的越清晰。超出范围的玩家则听不到声音。
gain?:number 可选,音量增益。正常为1,数值越大,声音越响。
pitch?:number 可选,音高增益。正常为1,大于1,声音播放越快,小于1,声音播放越慢。
示例1
entity.sound('audio/chat.mp3')
示例2
// 定义播放的声音参数
const bounceSound = {
'sample': 'audio/chat.mp3', // 声音文件
'radius': 32, // 声音范围
'gain': 1, // 音量增益
'gainVariance': 0, // 音量增益方差
'pitch': 1, // 音高调节
'pitchVariance': 0, // 音高增益方差
}
// 每3秒,让所有玩家跳起。并播放声音。
const bounceEvent = setInterval(() => {
world.querySelectorAll('player').forEach((e) => {
e.sound(bounceSound); // 播放声音
e.velocity.y += 1; // 给实体施加往上方向运动的力。
});
console.log('Jump');
}, 3000);
// 9秒后,停止弹跳。
setTimeout(() => {
clearInterval(bounceEvent)
console.log('Cancel Jump Event');
}, 9000);
示例3
// 当开门/关门时,播放开门或关门的声音。
function toggleDoor(entity) {
if (entity.isOpen) {
entity.sound('audio/door_close.mp3');
} else {
entity.sound('audio/door_open.mp3');
}
entity.isOpen = !entity.isOpen;
}
点赞1
评论
海绵宝宝道理儿!!!
niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiice
要不要后续把自己导入声音的模块加上(
点赞0
评论