ile ilk kez ses yürütürken küçük gecikme [self playSoundFileNamed] kullanarak bir ses yürütürken, tüm uygulamanın yaklaşık yarım saniye boyunca dontuğu ilk kez bir ses çaldığında küçük bir gecikme olur. ama bundan sonra iyi. Bundan nasıl kurtulabilirim?SpriteKit
5
A
cevap
15
Oyun kurulum yöntemimde, böyle bir şey yapıyorum ve iyi çalışıyor gibi görünüyor.
bir IvarSKAction *_ballsHitSound;
Set mı o kadar zaman yük sahne
_ballsHitSound = [SKAction playSoundFileNamed:@"ballsCollide.mp3" waitForCompletion:NO];
sonra ses
[self runAction:_ballsHitSound];
0
playSoundFileNamed gitmeye hazır: aksiyon oynamak için yapılır Oyununuzun ses efektleri, arka plan müziği veya daha büyük ses dosyaları gibi küçük sesler. Daha büyük ses dosyalarını oynatmayı planlıyorsanız, ses reprodüksiyonu üzerinde daha fazla kontrol sağlayan AVAudioPlayer sınıfını daha iyi kullanırsınız.
// Load and start background music
NSError *error;
NSURL * backgroundMusicURL = [[NSBundle mainBundle] URLForResource:@"background-music" withExtension:@"mp3"];
self.backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
self.backgroundMusicPlayer.numberOfLoops = -1;
[self.backgroundMusicPlayer prepareToPlay];
[self.backgroundMusicPlayer play];
0
Sana arka plan iş parçacığı üzerinde oynamak için çalışacağını söyledi bu yüzden ana iş parçacığı üzerinde sesleri oynatmak gerekmez düşünüyorum: İşte nasıl kullanılacağını bir kod parçacığı var.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
// Play it here
});
İlgili konular
- 1. Swift SpriteKit - Joint
- 2. SpriteKit - Bir zamanlayıcı oluşturma
- 3. Spritekit gösterilemedi sahne görüntüleniyor
- 4. Spritekit - SKSpriteNode videosu, AVPlayer
- 5. SpriteKit dünya yanlış konumlandırma
- 6. Spritekit Destekleme iAd
- 7. SpriteKit Shader Uniforms ile çalışmıyor
- 8. Eşleşen AppKit ve SpriteKit renkleri
- 9. SpriteKit Rastgele Curl Satır Oluştur
- 10. UIKit koordinatlarını SpriteKit koordinatlarına dönüştürün
- 11. SpriteKit SKEmitterNode targetNode kazasında EXC_BAD_ACCESS
- 12. TVOS'taki menü düğmeleri SpriteKit uygulaması
- 13. Arka plan girerken Spritekit çöküyor
- 14. Spritekit swift isuue'da sahneyi değiştirme
- 15. Swift Spritekit izometrik harita dokunma yeri
- 16. GameViewController'daki değişken değerini değiştirin (SpriteKit Swift)
- 17. iOS SpriteKit Scenes - Çoklu Sahneler Ekranda
- 18. Swift SpriteKit Mario yatay dönen yatay platform
- 19. SpriteKit Swift 2 Eylemler: düşman dalgaları yumurtlama
- 20. Temel swift/spritekit oyunu - sorun giderme
- 21. SpriteKit- SKScene nasıl büyütülür ve uzaklaştırılır?
- 22. SpriteKit: iletişim geri çağırmada düğüm konumunu değiştiremiyor
- 23. SpriteKit oyununu duraklatma ve devam ettirme
- 24. SpriteKit Oyun Yükleme Ekranı (Splash Ekranı Değil)
- 25. SpriteKit ile hikaye tahtalarını nasıl kullanmalıyım?
- 26. Skor puanım yukarı ve aşağı devam ediyor. Swift SpriteKit
- 27. SpriteKit Fizik Eklemleri hareket ettirmek için bozuk Bölüm
- 28. SpriteKit eylemleri dizisini kesme ve kesinti olmadığında devam etme
- 29. Xcode SpriteKit - Sprite'ları kaldırma ve bir eylemi durdurma - repeatActionForever
- 30. SpriteKit için UITapGestureRecognizer öğesinin dokunma konumunu çevirin - Swift
Duraklat, sesin ilk yüklemesidir. Esasen, bu ses dosyalarının yüklenmesini oyunun kurulumunda yapmak, önyükleme ve kesinlikle gitmek için doğru yol gibidir. Kurulum sırasında bu duraklama var, ancak kurulum sırasında duraklama yönetilebilir. – prototypical
Büyük olasılıkla bir SKLabel için bir font yüklenerek aynı duraklama yaşanır. Bu yüzden, kurulum sırasında da oyun sırasında kullandığınız yazı tipleriyle SKLabels'i yüklemek en iyisidir. Örneğin, yalnızca oyun sırasında kullanılan puan pop-up'ları için belirli bir fontunuz varsa. – prototypical