2015-11-03 3 views
1

Итак, я пытаюсь создать 2D SpriteNode, его стационарный (его логотип) и не делает ничего особенного, чтобы испортить его. Это мой код:Значение дополнительного типа 'SKSpriteNode?' не разворачивается; Вы хотели использовать! или?

let Logo = SKSpriteNode(fileNamed: "logo.png"); 
Logo.yScale = 1; 
Logo.xScale = 1; 
Logo.position = CGPoint(x:CGRectGetMidX(self.frame),y:CGRectGetMidY(self.frame)); 
self.addChild(Logo) 

Когда я запускаю приложение, он выходит из строя и дает мне эту ошибку: «? SKSpriteNode» Значение факультативного Типа не разворачивается; Вы хотели использовать! или ?

Это говорит мне добавить '!' к логотипу (логотип!), я пробовал это, и он все еще не работает.

Спасибо за помощь!

ответ

0

SKSpriteNode(fileNamed: "logo.png") вызов возвращается необязательно (если у вас есть правописание в имени файла, оно дает вам нуль).

Если вы уверены, что файл существует вы можете использовать !:

let Logo = SKSpriteNode(imageNamed: "logo.png")! 

, но более безопасный способ делает это так:

if let Logo = SKSpriteNode(imageNamed: "logo.png") { 
    Logo.yScale = 1 
    ... 
} 
+0

если позволить Logo = SKSpriteNode (fileNamed: «логотип. png ") { Logo.yScale = 1 ... } работает, но изображение не отображается. Я проверил и убедился, что у меня есть образ в файле моих активов и его там, я изменил имя на logo.png, и это все еще не сработало. Я даже переместил изображение в другой каталог. Любые идеи, как исправить? –

+0

Исправлено, Изменен SKSpriteNode (fileNamed: ...) в SKSpriteNode (imageNamed: ...) –

Смежные вопросы

 Смежные вопросы