[英]How to remove node when become outside the scene in Sprite Kit
我試圖刪除節點時出現在場邊,我嘗試這種方法來做到這一點
if( CGRectIntersectsRect(node.frame, view.frame) ) {
// Don't delete your node
} else {
// Delete your node as it is not in your view
}
但似乎沒有任何幫助將不勝感激
從性能的角度來看,這不是最好的方法,但如果你在場景中覆蓋update
方法,你將能夠編寫每幀執行的代碼。
class GameScene : SKScene {
var arrow : SKSpriteNode?
override func update(currentTime: NSTimeInterval) {
super.update(currentTime)
if let
arrow = arrow,
view = self.view
where
CGRectContainsRect(view.frame, arrow.frame) == false &&
CGRectIntersectsRect(arrow.frame, view.frame) == false {
arrow.removeFromParent()
}
}
}
請記住,您在更新方法中編寫的每個代碼都是每幀執行一次 (60fps游戲每秒60次),所以您應該非常小心。 除非絕對必要,否則您不希望在update
寫入的典型內容:
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.