2017-05-23 3 views
0

Ich habe ein Bild mit dem Namen background.png. Ich habe versucht, es zu meiner Szene aus einer SKS-Datei hinzufügen, und es zeigte sich fein in Xcode, aber im Simulator, zeigte keine Bilder überhaupt auf. Dann habe ich versucht, es per Code zu machen, aber selbst dann tauchte nichts auf. Außerdem habe ich in der Konsole keine Fehlermeldungen erhalten, dass Bilder nicht gefunden wurden. Der Bildschirm war einfach komplett schwarz. Hier ist mein Code:Bilder nicht in apple tv zeigt - Sprite-Kit

var background = SKSpriteNode(imageNamed: "background.png") 
background.size.width = (background.size.width * frame.height)/background.size.height 
background.size.height = frame.size.height 
background.position.x = (background.size.width/2) 
background.position.y = frame.midY 
background.zPosition = 0 

let moveAnimation = SKAction.move(by: CGVector(dx: -background.size.width, dy: 0), duration: 10) 
let shiftAnimation = SKAction.move(by: CGVector(dx: background.size.width, dy: 0), duration: 0) 
let animateForever = SKAction.repeatForever(SKAction.sequence([moveAnimation, shiftAnimation])) 
background.run(animateForever) 

self.addChild(background) 

background = SKSpriteNode(imageNamed: "background.png") 
background.size.width = (background.size.width * frame.height)/background.size.height 
background.size.height = frame.size.height 
background.position.x = (background.size.width/2)*3 
background.position.y = frame.midY 
background.zPosition = 0 
background.run(animateForever) 

self.addChild(background) 

background = SKSpriteNode(imageNamed: "background.png") 
background.size.width = (background.size.width * frame.height)/background.size.height 
background.size.height = frame.size.height 
background.position.x = -(background.size.width/2) + 2 
background.position.y = frame.midY 
background.zPosition = 0 
background.run(animateForever) 

self.addChild(background) 

Jede Hilfe würde geschätzt.

Antwort

0

Das Problem war, dass die Bildgröße zu groß war. Die Größe des Bildes war 8000 x 4000 Pixel. Ich habe es in 4000 x 2000 geändert, und alles hat gut funktioniert.

+0

ja, 4096x 4096 ist die größte Texturgröße – Knight0fDragon

+0

+ Knight0fDragon, wenn aus irgendeinem Grund, ich kann das gleiche Bild fein auf dem iPhone oder Mac OS X laufen. Ich denke, Apple hätte den Fernseher mit der höchsten Auflösung machen sollen. – Rishi

+0

nicht sicher, welches iPhone Sie haben, aber osx hängt von der verwendeten Grafikkarte ab. so ein hochauflösendes Bild mit wirklich eine Verschwendung von Speicher ist, werden nur das iPhone 5 1 GB RAM hat, würde Ihre Textur 12% des verfügbaren Speichers wird mit bis, nur für 1 Bild. Jetzt hat Apple TV 2 GB RAM, das heißt, du verbrauchst 6% des gesamten verfügbaren RAM auf 1 Bild, frag dich, ist es das wert? – Knight0fDragon

Verwandte Themen