2017-08-31 64 views
0

在我的程序中,我需要檢查兩個非動態節點是否在更新時聯繫或包含對方,以刪除它們。我知道當兩個節點都不是動態的時候,你不能測試聯繫。這些局部變量節點是在一個方法中創建的,所以我必須使用節點的.name屬性來相互檢查它們。有沒有辦法測試聯繫人,或者他們是否在更新時包含對方?SpriteKit和Swift中的isDynamic和contactDelegate

回答

1

是的。

每個節點有一個框架,它是一個CGRect。但是也有一些可調用上的CGRect各種方法,如intersectscontains它會告訴你,如果兩個CGRects重疊,或者如果一個包含其他:

https://developer.apple.com/documentation/coregraphics/cgrect/1454747-intersects

https://developer.apple.com/documentation/coregraphics/cgrect/1454186-contains

+0

我怎麼能有實現這個SKSpriteNode,沒有紋理,只是一個圓形的物理體? – BCode

+1

當你說它沒有紋理時,你的意思是你沒有給它分配一個紋理(它是哪種情況,它只是一個彩色形狀?),或者它有大小(0,0)?無論哪種方式,它仍然應該有一個'CGRect'的'frame'屬性。 –