美文网首页WEB前端开发技术杂谈其他
[Cocos Creator]以常驻节点的方式设置游戏全局背景音

[Cocos Creator]以常驻节点的方式设置游戏全局背景音

作者: Coder_老王 | 来源:发表于2019-03-19 10:02 被阅读0次

    假设现在我们有两个游戏场景,一个是Home,一个是Game,现在来设置背景音乐。


    1.创建节点

    首先,在Home的场景中,创建一个空节点Audio,注意,这里必须是跟节点

    node.png

    2.编写脚本

    创建一个脚本AudioManager.js,

    cc.Class({
        extends: cc.Component,
    
        properties: {
            bgMusic:{
                url:cc.AudioClip,
                default: null
            },
        },
    
        onLoad() {
            cc.game.addPersistRootNode(this.node);
        },
    
        
        playBgMusic() {
           this.bgMusicChannel = cc.audioEngine.play(this.bgMusic,true,0.5)
        },
    
        stopBgMusic: function () {        
            if (this.bgMusicChannel !== undefined) {
                cc.audioEngine.stop(this.bgMusicChannel);            
                this.bgMusicChannel = undefined;
            }
        },
    
    });
    

    我们在onLoad()方法中,将该节点设为常驻节点:

     cc.game.addPersistRootNode(this.node);
    

    此时该节点就可以在其他场景中获取到了

    3.关联脚本

    这一步就不用解释了吧,把该脚本挂载到Audio节点上


    script.png

    4.获取节点

    在对应的场景脚本中,获取该常驻节点,调用播放音乐的方法即可

    //获取全局播放器
    this.AudioPlayer = cc.find("Audio").getComponent("AudioManager");
    //停止再开启背景音乐
    this.AudioPlayer.stopBgMusic();
    this.AudioPlayer.playBgMusic();
    

    相关文章

      网友评论

        本文标题:[Cocos Creator]以常驻节点的方式设置游戏全局背景音

        本文链接:https://www.haomeiwen.com/subject/sciwmqtx.html