HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iOS如何在Sprite Kit游戏中创建音频淡入/淡出效果?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对如何在Sprite Kit游戏中管理背景音乐以实现淡入/淡出感兴趣.

我注意到Sprite Kit有一个内置的声音播放器,但它似乎对非常短的效果更有用,比如“on hit”声音:

[self runAction:[SKAction playSoundFilenamed:@"music.mp3" waitForCompletion:NO]];

似乎没有办法阻止这种声音.

我正在使用Kobold Kit,它附带可以播放声音的OALSimpleAu@L_262_2@库:

[[OALSimpleAu@L_262_2@ sharedInstance] preloadEffect:@"die.wav"];
    [[OALSimpleAu@L_262_2@ sharedInstance] playEffect:@"die.wav"];

    [[OALSimpleAu@L_262_2@ sharedInstance]preloadBg:@"battle.mp3"];
    [[OALSimpleAu@L_262_2@ sharedInstance] playBg:@"battle.mp3" loop:YES];

OALSimpleAu@L_262_2@中有一个bgVolume属性,但没有真正的淡入淡出.

应该尝试编写我自己的淡入/淡出代码,如果有什么东西我可以用来控制通用音乐播放器的音量,如OALSimpleAu@L_262_2@.

解决方法

您也可以在 AVAudioPlayer中使用构建版本,或者当然还可以将功能调整到您的播放器:

//play BACkground sound
NSError *error;
NSURL * BACkgroundMusicURL = [[NSBundle mainBundle] URLForresource:@"SpaceLife" withExtension:@"mp3"];
self.BACkgroundMusicPlayer = [[AVAu@L_262_2@Player alloc] initWithContentsOfURL:BACkgroundMusicURL error:&error];
self.BACkgroundMusicPlayer.numberOfLoops = -1;
[self.BACkgroundMusicPlayer prepareToPlay];
[self.BACkgroundMusicPlayer play];

然后你添加这个post功能

- (void)doVolumeFade
{  
    if (self.BACkgroundMusicPlayer.volume > 0.1) {
        self.BACkgroundMusicPlayer.volume = self.player.volume - 0.1;
        [self performSELEctor:@SELEctor(doVolumeFadE) withObject:nil afterDelay:0.1];       
     } else {
        // Stop and get the sound ready for playing again
        [self.BACkgroundMusicPlayer stop];
        self.BACkgroundMusicPlayer.currentTime = 0;
        [self.BACkgroundMusicPlayer prepareToPlay];
        self.BACkgroundMusicPlayer.volume = 1.0;
    }
}

大佬总结

以上是大佬教程为你收集整理的iOS如何在Sprite Kit游戏中创建音频淡入/淡出效果?全部内容,希望文章能够帮你解决iOS如何在Sprite Kit游戏中创建音频淡入/淡出效果?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。