2017-02-14 4 views
0

Ich habe gerade mit Swift in XCode begonnen und ich habe eine Reihe von Tutorials durchlaufen. Leider haben sie einige wesentliche Grundlagen nicht behandelt. Ich habe bereits ein Verzeichnis von Assets importiert (das Unterverzeichnisse enthält) und "Copy (wie erforderlich)" ausgewählt. Der Ordner ist blau und erscheint in den Build-Phasen -> Bundle-Ressourcen kopieren. Ich habe die einfachen Linien unten verwendet, aber das Bild erscheint immer noch als rotes "X" im Simulator. Ich habe einen Clean/Build/Restart gemacht und es funktioniert immer noch nicht.Bild aus dem Ordner wird nicht angezeigt

if let ship = SKSpriteNode(fileNamed: "cannon.png") 
    { 
     ship.position = CGPoint(x: self.size.width/2, y: self.size.height/2) 
     self.addChild(ship) 
    } 

Die referenzierte Datei wird in Assets/Sprite Images/cannon.png

gelegen Wie kann ich das Bild bekommen zu werben?

EDIT

hatte ich den Space Invaders Tutorial Starter Project heruntergeladen und verwendet es die Idee eines „Assets“ -Ordner und tut genau das, was ich versucht habe. Im Ordner "Images.xcassets" ist nichts aufgeführt, weshalb ich mir nicht sicher bin, warum meins nicht geladen wird. Muss ich dies als einen bestimmten Ordner identifizieren?

Antwort

0

Versuchen Sie stattdessen:

let texture = SKTexture(imageNamed: "myImage.png") 
let ship = SKSpriteNode.init(texture: texture) 

ODER

let spaceship = SKSpriteNode(imageNamed: "myImage.png")

In beiden Fällen verwenden imageNamed

+0

Gleiche Ergebnisse. Ich habe auch überprüft, dass diese Datei den Namen "cannon.png" im Dateiinspektor unter "Identität und Typ" – McArthey

+0

Angenommen, Sie klicken auf die .xcassets (blau Ordner), unter "Identität und Typ" sollte etwas wie "Assets .xcassets "oder der Name Ihres xcasset. Ein Klick auf ein Asset in den .xcassets und dann unter "Attribute" sollte den Namen des Bildes haben. – rmp

+0

Ah ich habe auf die tatsächliche Datei in der Verzeichnisstruktur im Projektnavigator geklickt – McArthey

0

ich mit endete diese als Bündel Ressource hinzufügen, um zu machen es verfügbar. Ich tat dies, indem ich die Top-Level-Lösung auswählte und zu dem folgenden Bereich ging: Build-Phasen-> Copy Bundle Resources

Unten ist ein +/- und Sie können die einzelnen Elemente zum Projekt hinzufügen. Nach dem Hinzufügen wählen Sie "Copy (wie benötigt)" und das Element erscheint in der Liste. Es wird dann für das Projekt verfügbar. Das Hinzufügen auf der Verzeichnisebene funktionierte leider nicht.

Wie in anderen Suchen angezeigt wird, scheint es üblich zu sein, das Kästchen für "Zielmitgliedschaft" im Dateiinspektor zu markieren, aber selbst danach habe ich das Kontrollkästchen nicht verfügbar.

Für was es sich lohnt scheint eine Kombination der oben genannten das Problem zu lösen.

Verwandte Themen