2014-06-12 17 views
6

Bir işlevdeki görünüme SKSpriteNodes eklemek için kendimi deniyorum ama Xcode bunu yapmama izin vermiyor. Bu "ben" kullanmak edebilmek için bana bir fonksiyon içinNeden bir func'de kendini kullanamıyorum Swift

func indicate() { 
if test == 0 { 
    var large = ((CGFloat(largest)*54) - 29) - selectedNode.position.x 
    var small = selectedNode.position.x - ((CGFloat(smallest)*54) - 29) 

    indicatorRight.position = CGPointMake(selectedNode.position.x + large, selectedNode.position.y) 
    indicatorRight.userInteractionEnabled = true 
    indicatorRight.zPosition = 0.5 

    indicatorLeft.position = CGPointMake(selectedNode.position.x - small, selectedNode.position.y) 
    indicatorLeft.userInteractionEnabled = true 
    indicatorLeft.zPosition = 0.5 


    println(indicatorLeft.position) 
    // println(smallest) 
    self.addChild(indicatorRight) 
    self.addChild(indicatorLeft) 

    } 


} 
+3

İçerisinde bulunan işaret işlevi nedir? Bu bir sınıf mı? –

+0

Bu bağlamda hangi dış bağlam görünüyor? – Tommy

+0

Bir sınıfta veya hiçbir şeyde değil. – Nas5296

cevap

6

Nas,

hatası "çözülmemiş tanımlayıcının 'benlik' Kullanımı" verir, bir sınıfın parçası olması gerekiyor.

"self", bir yöntemin (veya Swift parlance: "func") uygulandığı geçerli örneğe karşılık gelir. Bir func global düzeyde tanımlanmışsa, bir sınıfın değilse, bu nedenle bir sınıfın bir örneği ile ilişkilendirilemez. Dolayısıyla

imkansızlığı açık yöntem Sınıf sunulmuştur emin olun. Bu bağlamda

18

'kendini" kullanmak ve kapanış parantez

A sınıfı {

// Sen gerek // Uygulamayı buradan ilan olabileceğini

burada bir yöntemi

} tanımlar.

İlgili konular