2015-10-20 5 views
1

При попытке перехода между SKScene к другому SKScene Например, когда игра закончена я использую ниже код и получить следующее сообщение об ошибке: -.Swift SpriteKit «Extra Arguement„размер“в вызове

Extra Arguement "size" in call

Ниже образец моего кода используется при возникновении этой ошибки.

let scene = GameOverScreen(size: self.scene!.size) //<<---- Error throws here 
scene.scaleMode = SKSceneScaleMode.AspectFill 
view!.scene?.paused = true 

self.scene!.view!.presentScene(scene, transition: transition) 

Это никогда не случалось в предыдущих играх у меня, и я не могу показаться, чтобы выяснить, почему?

Использование XCode 7, стремительные 2 и SpriteKit

Спасибо заранее,

Рейчел

+1

Я проверил ваш код, и все в порядке. Является ли 'GameOverScreen' подклассом' SKScene'? – WangYudong

+0

класс GameOverScreen: SKScene { } работает отлично для меня тоже в другой игре. и игра по экрану почти такая же. Оба экрана: SKScene –

+0

У вас есть другие инициализаторы в GameOverScene? Мне было бы интересно увидеть ваш GameOverScene, по крайней мере, любые инициализаторы –

ответ

3

Я предполагаю, что это происходит потому, что у вас есть другие инициализаторами, определенные в GameOverScene, что вы не упомянули. Поскольку вы это делаете, вы автоматически не наследуете все инициализаторы SKScene. Вы, наверное, просто нужно добавить следующее GameOverScene:

override init(size: CGSize) { 
    // Set up your properties 
    super.init(size: size) 

    // Do whatever else you need to 
} 

Если у вас не было никаких инициализаторами, определенные в GameOverScene, вы бы не видеть это поведение. Я бы предложил продолжить чтение на Automatic Initializer Inheritance. В разделе, на котором я ссылался на этой странице, описаны правила, когда класс наследует инициализаторы суперкласса. По умолчанию они не унаследованы.

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