Uzun 2d seviyem var, bu yüzden daha fazla .sks dosyasına bölüyorum. Sürükle ve bırak ile Sahne düzenleyicide onlara katılabileceğim "GameScene" var. SKReferenceNodes oluşturur. Bunu başarı ile yaptım. Ama bu parçaları kodda ihtiyaç duyulduğunda tembel bir şekilde yüklemek istiyorum (iyi uygulama olduğu söyleniyor). Bunun üzerinde başarısızım.SKReferenceNode'u programsal olarak ekleyin
if let nextPart = SKReferenceNode(fileNamed: "Scene2_city2") {
if self.childNodeWithName("Scene2_city2") == nil {
self.addChild(nextPart)
}
}
"Scene2_city2" .sks dosyanın adıdır ve ayrıca dosya içindeki Sahne adı:
Bu kodun belli bir parçasıdır. kod çalıştırma
bir hata alıyorum: Ben eklemeden önce ben ilk kontrol çünkü
*** Terminating app due to uncaught exception 'Cant add body, already exists in a world', reason: 'Cant add body type: representedObject:[ name:'Scene2_city2' frame:{{-0, -0}, {1024, 768}} anchor:{0, 0}], already exists in a world'
Bu, çok garip.
Soru: SKReferenceNode'u SKScene'e program aracılığıyla nasıl eklemeliyim?
DÜZENLEME: İşte bitbucket üzerinde simple example project. Musluk için referans sahne eklendi.
Herhangi bir şanstan bahsettiğiniz konuyu yeniden üretebilecek ve repo'yu Github'a yükleyebilecek en az örnekle yapabiliyorsanız, muhtemelen daha iyi bir cevabı alacaksınız. – Whirlwind
Ayrıca, yaşadığınız şeylerle aynı değil, ancak okumaya değer olabilir çünkü bu, gördüğünüz aynı hatayla ilgilidir: https://forums.developer.apple.com/thread/19583, http: //stackoverflow.com/questions/21745797/skphysicsbody-malloc-error ... Muhtemelen daha fazla iş parçacığı vardır, bunun hakkında StackOverflow üzerinde birkaç tane daha gördüm. – Whirlwind
Bilgi için teşekkürler. Ben aynı hataları yaptığımı sanmıyorum. İşte [basit örnek proje] (https://bitbucket.org/sirljan/referencenodetest) bitbucket üzerinde. – jendan