1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /**
- * @author uu
- * @file 音乐控制组件
- */
- cc.Class({
- extends: cc.Component,
- properties: {
- volume: 1,
- audios: [cc.AudioSource],
- audioPrefab: cc.Prefab,
- bgMusic: cc.AudioSource,
- winAudio: cc.AudioSource,
- doubleAudio: cc.AudioSource,
- boomAudio: cc.AudioSource,
- magicAudio: cc.AudioSource,
- //audioSource: cc.AudioSource,
- },
- init() {
- this.audio = []
- this.instanceAudio()
- this.createMusicPool()
- },
- createMusicPool() {
- // this.musicPool = new cc.NodePool()
- // for (let i = 0; i < 20; i++) {
- // let music = cc.instantiate(this.audioPrefab)
- // this.musicPool.put(music)
- // }
- },
- instanceAudio() {
- },
- changeVol(vol) {
- this.volume = vol
- this.audios.forEach((item, index) => {
- // item.volume = vol
- this.audios[index].volume = vol
- })
- },
- onPlayAudio(num) {
- let self = this
- if (!this.audios[num] || this.audios[num].isPlaying) {
- if (this.audios[num + 1]) {
- self.onPlayAudio(num + 1)
- } else {
- //console.log('创建新的音乐实例')
- let music = null
- if (self.musicPool && self.musicPool.size() > 0) {
- music = self.musicPool.get()
- } else {
- music = cc.instantiate(self.audioPrefab)
- }
- music.parent = self.node
- this.audios[num + 1] = music.getComponent(cc.AudioSource)
- music.getComponent(cc.AudioSource).play()
- }
- // if (num < this.audios.length) {
- // this.audios[num].stop()
- // this.audios[num].rewind()
- // this.audios[num].play()
- // }
- } else {
- // console.log('使用旧的音乐')
- this.audios[num].rewind()
- this.audios[num].play()
- }
- },
- pauseBg() {
- this.bgMusic.pause()
- },
- resumeBg() {
- this.bgMusic.resume()
- },
- start() {
- // this.onPlayAudio(1);
- },
- checkBg() {
- },
- onWin() {
- this.winAudio.rewind()
- this.winAudio.play()
- },
- onDouble() {
- this.doubleAudio.rewind()
- this.doubleAudio.play()
- },
- onBoom() {
- this.boomAudio.rewind()
- this.boomAudio.play()
- },
- onMagic() {
- this.magicAudio.rewind()
- this.magicAudio.play()
- },
- });
|