sprite düğümleri uygulama çalıştırıyor olursa olsun görünüm boyutu orantılı ölçek böylece manzara uygulaması, evrensel olmak yapmak istiyorum. IB'yi sevmediğim için tamamen programatik çözümünü tercih ediyorum.SpriteKit ile iOS Evrensel Cihaz Uygulaması, tüm görünümler için düğümleri nasıl ölçeklendirmeli?
Oyunum oldukça basit ve kaydırma veya yakınlaştırmaya gerek yok, bu yüzden oyunun tamamı her zaman mevcut olacak ve tüm manzarayı alacak.
Aradığım şey manzaranın boyutunu değiştirmek için manzaranın boyutunu değiştirmek mümkün mü? Eğer öyleyse benim bakış denetleyicisi
if let scene = GameScene(fileNamed:"GameScene")
bu bölümünü değiştirerek denedim çünkü baştan sona açıklayabilir parametre olarak boyutunu alır ama Xcode o sevmez yapıcı yöntemi olmak.
şeyler ben self.view.bounds.width/yükseklik kesirler kullanma
- denedim. Bu, genellikle tüm iPhone'ların iyi görünmesini sağlar, ancak iPad'lerde düğümleri ve çerçeve etrafındaki sınır kutusunu genişletir ve eğrir.
- Dört tür arasında scaleMode'un değiştirilmesi. İyi bir uygulama ve iyi hissetmek isterdim. Uygulamamı yapmam gereken, ancak önerilere açık olan bir şey olan Dil Önlüğü (varsayılan). Not; Herhangi bir cihazda siyah kenarlar istemiyorum, sadece tüm görünüm orantılı olarak görüntülendi/ölçeklendi.
- Programsal kısıtlamalar uygulama. Şimdi bu konuda oldukça yeniyim ve kısıtlamaları tamamen anlamadım, fakat RayWenderlich'den bile düğümlerdeki kısıtlamalar hakkında konuştuğum hiçbir öğretici yok, bu yüzden bu konuya derinden değinmedim.
Görünümler arasında noktaları dönüştürmek için böyle bir yöntem kullanın. Bu aslında düğüm noktalarının konumlandırılması için oldukça iyi çalıştı ve eğer mümkünse bu yöntemin işe yaramasını isterdim, ama sonra hala düğüm büyüklükleri problemi var. Ayrıca, bu yöntemle iPad için oluşturduğumda, görünüm portre olarak başlıyor ve düğümler iyi görünüyor, ancak sonra bunu manuel olarak manzaraya, sprite'lara ve sınırlara bakmam gerekiyor.
func convert(point: CGPoint)->CGPoint { return self.view!.convertPoint(CGPoint(x: point.x, y:self.view!.frame.height-point.y), toScene:self) }
Sayısız vid RW üzerinde öğreticiler ve diğer her yerde internette: İşte bir yöntem.
Şimdiden teşekkürler! Yardımı takdir ediyorum. Bu konunun garip olduğunu biliyorum çünkü bir çok insan bu konuda sorular soruyor, ancak herkesin durumu bir çözümün hepsine uymadığından yeterince farklı görünüyor.
Yardımın için teşekkürler! Bunu doğru bir şekilde işaretledim çünkü sorunum için geçerli bir çözüm içeriyor. Ancak başka bir şekilde çözdüm ve bu yöntemi kullanacağım: info.plist'imde iphone ve ipad için ekran yönelimlerinin olduğunu ve ipad için dikey görünümlerin hala orada olduğunu belirttim. Onları listeden çıkardım. Bundan sonra, sahne.size'yi skView.bounds.size olarak ayarladım ve bu iki şey de onu düzeltmek zorunda kaldı (diğer ikisi de programı kırmayacaktır). Şimdi, görünüme göre düğümleri konumlandırmaya ve ölçeklemeye devam ediyorum ve her şey iyi çalışıyor. – ljs
İşaretleme için teşekkürler. Evet, plisteki manzara maddelerini aradığının farkında değildim. Xcode'ta portre seçimini kaldırmamış olsanız bile, bu 2 girdinin kalması biraz garip, başımda birçok baş ağrısına neden oldu. Mutlu kodlama – crashoverride777