2016-11-14 43 views
-5

我正在創建我的第二個應用程序,但是第一個iOS遊戲。我都完成了編碼和級別。正確使用SpriteKit中的按鈕的方法

但最後我奮力用按鈕精靈套件,所以我可以創建共享一樣,或者實現它設置菜單,我現在用的一個方法如下證明。

Button = UIButton(type: UIButtonType.custom) 
    Button.frame = CGRect(x: 0, y: 0, width: 50, height: 50) 
    Button.center = CGPoint(x: (self.view?.frame.width)! - 30, y: 60) 
    Button.setImage(UIImage(named: "Pause"), for: UIControlState.normal) 
    Button.addTarget(self, action: #selector(PauseGame), for: UIControlEvents.touchUpInside) 
    self.view?.addSubview(Button) 

現在有了這個按鈕的問題是,它是隨時啓用和顯示,無論什麼畫面或場景我英寸

是否存在使用這些按鈕的任何其他方式?

或者,也許我必須用故事板在SpriteKit項目的所有設置,menuscreen,以及額外的按鈕(例如贊,分享)?

回答

1

您正在嘗試使用UIKitSpriteKit。這就是爲什麼當場景改變時按鈕沒有被移除。行:

self.view?.addSubview(Button) 

將按鈕添加到視圖,不現場。這很重要,因爲視圖控制器在視圖上顯示場景,因此您有1個顯示場景的視圖(通常)。將按鈕添加到視圖時,它實際上附加到視圖,而不是場景。到一個按鈕節點添加到現場,試試這個:

let button = SKSpriteNode(imageNamed: "Paused") 
button.size = CGSize(width: 50, height: 50) 
button.position = CGPoint(x: (self.view?.frame.width)! - 30, y: 60) 
// Whatever else you want to do when setting up the button node 
addChild(button) 

最重要的這裏行是:

addChild(button) 

,因爲它增加了SKSpriteNode現場。這意味着,當從一個場景轉換到另一個場景時,該按鈕將不再保持在固定的位置,並且將隨場景過渡。

相關問題