2015-12-31 3 views
0

Я использую Xcode 7 с быстрым и когда я типаОжидаемая декларация Swift (Sprite Kit)

class Block { 
var Block = SKShapeNode(circleOfRadius: 15) 
Block.fillColor = SKColor.redColor()       //Error Here 
Block.physicsBody = SKPhysicsBody(circleOfRadius: 15) 
Block.physicsBody?.affectedByGravity = true 
Block.physicsBody?.restitution = 0 
Block.physicsbody?.LinearDamping = 0 
self.addChild(Block) 

Это дает мне ошибку, которая говорит «ожидаемое заявление» (на линии с комментарием) и I не знает, почему

+0

Сохраните ваш файл (Cmd + S), удаление строки и ее повторное наложение или очистка вашего проекта (shift + cmd + k IIRC). Остается ли ошибка? – Arc676

ответ

1

есть некоторые ошибки:

  • у вас есть класс, и пытаются изменить свойство класса за рамки методы или инициализатор.
  • Строка Block.physicsbody?.LinearDamping = 0 должна быть Block.physicsBody?.linearDamping = 0; Чувствительность к регистру.
  • Вы называете свой SKShapeNode экземпляром как Block, с тем же именем, что и ваш класс. По соглашению об именах имена классов (типа) начинаются с Capital букв, тогда как свойства класса используют в своих именах буквы small.

С этими тремя фиксированными мы можем перейти к вашей сцене. (Спасибо!)

С помощью Лео Dabus, мы должны иметь достаточно, чтобы установить вас с минимальным рабочим примером (с помощью кода) SKScene:

class GameScene: SKScene { 

    override func didMoveToView(view: SKView) { 

     let block = SKShapeNode(circleOfRadius: 15) 

     // you will also need to set your node initial position 
     // if you would like your red circle to fall from the middle of the top of your scene you need to use the scene frame midX and maxY (not the view frame). the scene it is not necessarily the same size of your view) 
     block.position = CGPoint(x: scene!.frame.midX, y: scene!.frame.maxY) 

     block.fillColor = SKColor.redColor() 
     block.physicsBody = SKPhysicsBody(circleOfRadius: 15) 
     block.physicsBody?.affectedByGravity = true 
     block.physicsBody?.restitution = 0 
     block.physicsBody?.linearDamping = 0 
     self.addChild(block) 
    } 

    // ... 
} 
+0

self.addChild будет ссылаться на класс Block, который должен быть в методе игровой сцены didMoveToView (view: SKView) { –

+0

нет необходимости в классе блоков –

+0

класс GameScene: SKScene { override func didMoveToView (view: SKView) { /* Настройте свою сцену здесь */ –

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