2014-08-27 40 views
1

我有一個類ACCreateObject。他們有一個函數circlePhysicsDefault。 我想通過按下按鈕來調用這個功能的其他文件。 在GameViewController I型:如何從其他課程調用函數? Swift,Xcode

@IBAction func addOneCircle(sender: AnyObject) { 
     ACCreateObject.circlePhysicsDefault(ACCreateObject) 
} 

但我有一個問題: '(ACCreateObject)。鍵入' 是無法轉換爲 'ACCreateObject'。我怎樣才能調用這個函數? 什麼做錯了?

謝謝!

ACCreateObject.swift

class ACCreateObject: SKScene { 
    func circlePhysicsDefault() { 
     var Circle = SKShapeNode(circleOfRadius: 40) 
     Circle.position = CGPointMake(500, 500) 
     Circle.name = "defaultCircle" 
     Circle.strokeColor = SKColor.blackColor() 
     Circle.glowWidth = 10.0 
     Circle.fillColor = SKColor.yellowColor() 
     Circle.physicsBody = SKPhysicsBody(circleOfRadius: 40) 
     Circle.physicsBody.dynamic = true 
     self.addChild(Circle) 
    } 
} 
+0

你可以發佈你的班級代碼嗎? – 2014-08-27 13:36:41

+0

你可以發佈'circlePhysicsDefault'方法的代碼嗎? – avismara 2014-08-27 13:39:55

+0

增加了ACCreateObject。 – 2014-08-27 13:42:41

回答

3

要調用類對象實例方法。有兩種解決方法:

創建一個新的實例並調用它的方法

ACCreateObject().circlePhysicsDefault() 

OR

使它成爲一個類的函數

// In your class file 
class func circlePhysicsDefault() { 
    .... 
} 

然後調用 ACCreateObject.circlePhysicsDefault()

+0

使你的函數返回你的cirlcle對象'circlePhysicsDefault() - >在GameScene中var child = ACCreateObject()。circlePhysicsDefault()'self.addChild(child)' – 2014-08-27 13:59:00

+0

我已經在GameScene中添加了這個,但是在我的GameScene中添加了這個應用程序啓動 - 添加一個圈,我按下按鈕,但沒有任何反應。 – 2014-08-27 14:04:39

0

不確定我是否是你nderstanding你的權利,而是由你說的話,你想打電話類型的方法,而不是在一個對象

,想到的第一件事情是這樣的:

var x = ACCreateObject() 
x.circlePhysicsDefault() 

我想這是你的方式應該做到這一點。我知道有做類班圈的選項物理學默認

相關問題