gpt4 book ai didi

function - 如何停止或暂停SKAction播放音乐? - swift

转载 作者:行者123 更新时间:2023-12-03 02:05:47 25 4
gpt4 key购买 nike

我需要知道如何在按下暂停按钮时停止或暂停正在播放游戏主题曲的SKAction。我使用的代码旨在在按下按钮但不起作用时删除操作。这段代码在我的GameScene类中。

func startGameMusic() {
runAction (SKAction.playSoundFileNamed("theme.mp3", waitForCompletion: true), withKey: "themeSong")
}

func stopGameMusic() {
self.removeActionForKey ("themeSong")
}

当在GameViewController类中按下暂停按钮时,将调用stopGameMusic函数。
@IBAction func didPause(sender: UIButton) {
if self.scene.paused == false{
self.scene.stopTicking()
self.scene.paused = true
self.scene.stopGameMusic()
}
}

要么:
 @IBAction func didPause(sender: UIButton) {
if self.scene.paused == false{
self.scene.stopTicking()
self.scene.paused = true
self.scene.removeActionForKey("themeSong")
}
}

最佳答案

我自己刚刚完成了一个暂停按钮的编码;看起来像Swiftris演示。我是从 View Controller 而不是场景中完成的。一次播放的声音在 View Controller 中编码,就像游戏结束一样,那么为什么不将它们全部放在一个位置呢?我在音频方面添加了以下几行代码:

import AVFoundation

然后在类函数里面...
var backgroundAudio = AVPlayer(URL:NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("theme",ofType:"mp3")!))

var gameStatus:Bool = true

然后在我的IBAction函数内部链接到暂停按钮...
if(gameStatus == true {

scene.stopTicking()

backgroundAudio.pause()

gameStatus = false

else {

scene.startTicking()

backgroundAudio.play()

gameStatus = true

}

说明:AVFoundation为您提供了很多音频/视频工具
gameStatus变量让我知道它是否暂停。 true =开
如果打开并按下暂停,则场景会停止滴答作响,音频会暂停,并且GameStatus会关闭。
如果游戏状态为假,则该按钮将激活场景计时器,并从中断的位置开始拾取音频。然后在游戏恢复后将gameStatus设置为true。尚未添加主题曲的永久运行功能。

关于function - 如何停止或暂停SKAction播放音乐? - swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com