2017-04-12 89 views
1

前面我已經這樣tableview中由一個子類添加到我的場景,它被添加像這樣到現場Spritekit - Spritenode在泰伯維

override func didMove(to view: SKView) { 

    gameTableView.frame = CGRect(x:14,y:70, width: frame.maxX/1.08, height: frame.maxY/0.9) 

    self.scene?.view?.addSubview(gameTableView) 
    gameTableView.reloadData() 

    universalBackButton = SKSpriteNode(color: SKColor.orange, size: CGSize(width: 100, height: 100)) 
    universalBackButton.position = CGPoint(x:frame.midX - universalBackButton.size.width * 0.7, y: -frame.maxY + universalBackButton.size.height) 
    universalBackButton.zPosition = 100001 
    self.scene?.addChild(universalBackButton) 

    itemShopMenu = SKSpriteNode(color: SKColor.orange, size: CGSize(width: 75, height: 50)) 
    itemShopMenu.position = CGPoint(x:frame.midX + universalBackButton.size.width * 0.7, y: -frame.maxY + itemShopMenu.size.height) 
    itemShopMenu.zPosition = 100001 
    self.scene?.addChild(itemShopMenu) 
} 

但是當我去添加按鈕,這樣我就可以離開tableview場景他們在tableview後面,而不在前面。我幾乎沒有使用場景子視圖的經驗,也不知道如何將spritenodes放在tableview前面,而不是放在後面,這樣他們就可以輕鬆執行一個函數。無論如何,我可以在桌面前添加spritenodes,以便他們可以按下?

回答

2

SpriteKit針對SKView中的圖層分層進行了優化 - 不適用於放置在其他UIView上方。爲什麼不通過創建UI按鈕並將它們放在頂層而不是將sprites用作按鈕來實現相同的效果?

let universalBackButton = UIButton()...