首页 > 其他分享 >以常驻节点的方式设置游戏全局背景音乐

以常驻节点的方式设置游戏全局背景音乐

时间:2022-10-18 14:11:21浏览次数:52  
标签:node 背景音乐 cc bgMusicChannel 常驻 节点

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

 

1.创建节点

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

  node.png

 

2.编写脚本

创建一个脚本AudioManager.js,

cc.Class({
    extends: cc.Component,

    properties: {
        bgMusic:{
            url:cc.AudioClip,
            default: null
        },
    },

    onl oad() {
        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节点上

4.获取节点

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

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

转载: https://www.jianshu.com/p/2c0aaa434b44

标签:node,背景音乐,cc,bgMusicChannel,常驻,节点
From: https://www.cnblogs.com/lst619247/p/16802377.html

相关文章

  • docker部署etcd集群单节点失败
    1、部署etcd3节点集群后其中一个节点报错2、查看etcd日志3、对比秘钥值是否正常4、看下memberlist5、备份etcd数据eesnapshotsave./snapshot2022-10-18.db6......
  • 动力节点——day02
    ipconfigip地址的配置信息,ipconfig-all更详细的配置信息查看两台计算机是否可以正常通信pingip地址/域名(-t)快捷键:ctrl+c复制 ctrl+v粘贴 ctrl+x剪切 ctrl+......
  • 可见光项目节点加入k8s集群
    一、安装jdk:64rpm-qa|grepjava65rpm-ejava-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64--nodeps66rpm-ejava-1.8.0-openjdk-headless-1.8.0.181-7.b13......
  • document.getElementById二次获取dom节点问题
    最近发现了个问题就是通过id获取dom节点不能二次获取只能首次获取并且不能当作基础节点二次获取也就是id不能这样使用今天才发现以前一直认为可以的原因不知a=docum......
  • jquery 节点的删除
    1.remove()2.detach()3.empty()1.remove()remove()方法移除被选元素,包括所有的文本和子节点,以及数据和事件。$(function(){$('ul').remove()})<ulclass="5......
  • sealos 创建单节点集群
    参考kuberentes-life-cycle#sealosversionmust>=v4.1.0$sealosrunlabring/kubernetes:v1.25.0labring/helm:v3.8.2labring/calico:v3.24.1--single......
  • elementUI 如何动态的给 el-tree 添加子节点数据 children
    elementUI如何动态的给el-tree添加子节点数据children一、需求有这样一个数据结构的tree。​​element​​的tree懒加载是从根上就开始懒加载,但我需要实现的是已经......
  • Centos7部署redis三节点哨兵集群,添加布隆过滤器
    目录Centos7部署redis三节点哨兵集群,添加布隆过滤器一、环境准备1.1、服务器准备1.2、依赖安装二、部署redis2.1、安装redis2.2、修改配置文件2.3、加入systemctl管理三、......
  • 847. 访问所有节点的最短路径
    题目描述给了一个无向联通图,图中节点个数是n,编号从0-n-1,问能访问所有节点的最短路径长度是多少?可以从任一节点开始和停止,可多次访问节点,可重用边。f1-bfs+状态压缩基本......
  • 给你一个二叉树的根节点 root , 检查它是否轴对称。
    用两个指针去遍历这棵树,(并使用深度优先中序遍历方法)一个指针从左方向开始遍历,一个指针从右方向开始遍历。比较结构与数据#Definitionforabinarytreenode.#class......