2016-07-08 8 views
0

Я работаю над игрой в мяч и новой для быстрой. Я пытаюсь сделать мяч двумя цветами, используя SKCropeNode. Это бросает эту ошибку: «не может вызывать addchild с списком аргументов типа (skcropnode)»Попытка addChild withSKCropNode - Ошибка

Я пробовал много разных вещей, но я не уверен, как это исправить. Благодарим за помощь.

static func make()-> Ball { 

    var anchorPoint = CGPointMake(0.5, 0.5) 

    // Half Circle #1 

    let myCrop1 = SKCropNode() 

    let myMask1 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100)) 
    myMask1.position.y = -50 

    let ball = SKShapeNode(circleOfRadius: 50) 
    ball.lineWidth = 0 
    ball.fillColor = UIColor.blueColor() 

    myCrop1.addChild(ball) 
    myCrop1.maskNode = myMask1 
    addChild(myCrop1) //ERROR HERE 

    // Half Circle #2 

    let myCrop2 = SKCropNode() 

    let myMask2 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100)) 
    myMask2.position.y = 50 

    let circle2 = SKShapeNode(circleOfRadius: 50) 
    circle2.lineWidth = 0 
    circle2.fillColor = UIColor.redColor() 

    myCrop2.addChild(circle2) 
    myCrop2.maskNode = myMask2 
    addChild(myCrop2) 


    return ball 
+0

http://stackoverflow.com/questions/35109905/how-to-draw-a-hollow-circle-with-two-different-colors – squarehippo10

ответ

0

Измените функцию от static.

Когда вы создаете функцию или static, она принадлежит классу, а не экземпляру класса.

Когда вы звоните addChild(myCrop1) Вы действительно скажете: self.addChild(myCrop1). То, что self, ссылается на экземпляр, который не разрешен в статической функции.