SpriteKit'te büyük bir "dünya" olan bir oyun yapıyorum ve kullanıcının SKScene
'u yakınlaştırma ve uzaklaştırma seçeneğine ihtiyacım varsa, bunu nasıl yaparım? Veya, didMoveToView işlevinde işleri daha basit hale getirmek için, kullanıcının cihaz ekranına dünyanın daha fazlasını nasıl sunabilirim (world.runAction(SKAction.scaleTo(0.5))
veya bir şey kullanmadan)?SpriteKit- SKScene nasıl büyütülür ve uzaklaştırılır?
cevap
Bulabildiğim en iyi çözüm böyle bir şey. didMoveToView
işlevinde, Dünya adlı bir SKSpriteNode oluşturun ve dünyanın istediğiniz büyüklükte olmasını sağlayın. Ardından,% 50 yakınlaştırma yapmak istiyorsanız world.setScale(0.5)
yazın. Ancak, her zaman ekranda ortalanmış bir oyuncu düğmeniz varsa, update
işlevinize aşağıdakileri eklemeniz gerekir.
override func update(currentTime: CFTimeInterval) {
world.position.x = -player.position.x * (0.5)
world.position.y = -player.position.y * (0.5)
}
Bunun için özel olarak tasarlanmış bir SKCameraNode var. SKCameraNode, görüntü alanını sahnesine tanımlar. Bir kamera düğümü oluşturur ve onu sahnenin kamera özelliğine atarsınız. Daha sonra eylemler oluşturabilir ve bu eylemleri kamerada çalıştırabilirsiniz. Yani sahneye zum yapmak için bunu yaparsın.
let zoomInAction = SKAction.scaleTo(0.5, duration: 1)
cameraNode.runAction(zoomInAction)
cameraNode temelde sahnede bir kare düğüm ben varsayılan olarak görüş oranlarını alır düşünüyorum, nedir? Cuz, boyut başlatıcısı yok. Yani küçüldüğünde, sahne yakınlaştırılmış gibi görünüyor. Uzaklaştırmak için ölçeği artıran bir işlem yaparsınız. Temel olarak, tüm sahnedeki bir dikdörtgeni hayal edin ve cameraNode'un dikdörtgendeki her şey, iPhone ekranınızda doğrudan gösterilir. Ayrıca moveTo eylemleri ve sekans eylemleri ekleyebilir ve normal spriteNode'unuzla aynı eylemlerdeki zamanlamaModlarını ayarlayabilirsiniz.
İşte Apple'ın söylediklerimi gösterdiği yerde WWDC. CameraNode bit, bitmeden yaklaşık 3 dakikadır.
Bu gerçekten kabul edilen cevap olmalı –
- 1. SKScene
- 2. SKView alt görünümü ve SKScene nasıl boyutlandırılır
- 3. jsPlumb diyagramı nasıl büyütülür
- 4. Spritekit swift isuue'da sahneyi değiştirme
- 5. SpriteKit
- 6. Javafx'te ilerleme çubuğu nasıl büyütülür?
- 7. UIGestureRecognizer'ın hit alanı nasıl büyütülür?
- 8. Harici düğmeden jqplot nasıl büyütülür?
- 9. removeFromSuperview UIView en SKScene
- 10. SpriteKit dünya yanlış konumlandırma
- 11. GameViewController'daki değişken değerini değiştirin (SpriteKit Swift)
- 12. Eşleşen AppKit ve SpriteKit renkleri
- 13. Laravel Blade'de ilk harfi nasıl büyütülür
- 14. SpriteKit Swift 2 Eylemler: düşman dalgaları yumurtlama
- 15. SpriteKit oyununu duraklatma ve devam ettirme
- 16. Spritekit gösterilemedi sahne görüntüleniyor
- 17. Swift SpriteKit - Joint
- 18. SpriteKit - Bir zamanlayıcı oluşturma
- 19. Spritekit Destekleme iAd
- 20. Spritekit - SKSpriteNode videosu, AVPlayer
- 21. SKScene iPad yükseklik genişliği ters çevrildi
- 22. Swift Spritekit izometrik harita dokunma yeri
- 23. SpriteKit Rastgele Curl Satır Oluştur
- 24. TVOS'taki menü düğmeleri SpriteKit uygulaması
- 25. SpriteKit ile hikaye tahtalarını nasıl kullanmalıyım?
- 26. Java JFrame'leri nasıl büyütülür, ancak yeniden boyutlandırılabilir değil
- 27. UIKit koordinatlarını SpriteKit koordinatlarına dönüştürün
- 28. IFRAME içeriğinin yalnızca çerçeve kümesi kullanılmadan nasıl büyütülür?
- 29. Arka plan girerken Spritekit çöküyor
- 30. SpriteKit SKEmitterNode targetNode kazasında EXC_BAD_ACCESS
dünyanın 'scale' özelliğini ayarlayarak nesi var? IOS 9'u hedefliyorsanız, bir [SKCameraNode] ekleyebilirsiniz (https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKCameraNode/). – 0x141E