zoukankan      html  css  js  c++  java
  • Swift

    游戏少不了背景音乐和音效。下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效。

    声音管理类 SoundManager.swift
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    import SpriteKit
    //引入多媒体框架
    import AVFoundation
     
    class SoundManager :SKNode{
        //申明一个播放器
        var bgMusicPlayer = AVAudioPlayer()
        //播放点击的动作音效
        let hitAct = SKAction.playSoundFileNamed("hit.mp3", waitForCompletion: false)
        
        //播放背景音乐的音效
        func playBackGround(){
            //获取apple.mp3文件地址
            var bgMusicURL:NSURL NSBundle.mainBundle().URLForResource("bg", withExtension: "mp3")!
            //根据背景音乐地址生成播放器
            bgMusicPlayer=AVAudioPlayer(contentsOfURL: bgMusicURL, error: nil)
            //设置为循环播放
            bgMusicPlayer.numberOfLoops = -1
            //准备播放音乐
            bgMusicPlayer.prepareToPlay()
            //播放音乐
            bgMusicPlayer.play()
        }
         
        //播放点击音效动作的方法
        func playHit(){
            self.runAction(hitAct)
        }
    }

    主场景 SoundManager.swift
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import SpriteKit
     
    class GameScene: SKScene {
        lazy var sound = SoundManager()
         
        override func didMoveToView(view: SKView) {
            //将声音管理实例加入游戏场景中
            self.addChild(sound)
            //播放背景音乐
            sound.playBackGround()
        }
         
        override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
            //播放音效
            sound.playHit()
        }
         
        override func update(currentTime: CFTimeInterval) {
        }
    }
  • 相关阅读:
    转 meta标签之详解
    面向过程分析方法和面向对象分析方法区别到底在哪里
    几大开发模型区别与联系
    第6周作业
    第5次作业
    第四次作业
    4.回合制战斗游戏中需要哪些基本的元素或者属性来达到战斗乐趣?
    需求获取常见的方法是进行客户访谈,结合你的实践谈谈会遇到什么问题,你是怎么解决的?
    4.你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    作业三
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4841111.html
Copyright © 2011-2022 走看看