0
在我的遊戲中,我有具有不同顏色的圓圈。他們應該只碰撞不是他們的顏色的邊界。 要做到這一點,我首先分配正常的圈子類別位掩碼。SpriteKit中的位掩碼問題SWIFT
struct CollisionCategoryBitmask {
static let monster: UInt32 = 00000001
static let picker: UInt32 = 00000010
static let bound: UInt32 = 00000100
static let circle: UInt32 = 00001000
static let yellow: UInt32 = 00010000
static let brown: UInt32 = 00100000
static let cyan: UInt32 = 01000000
static let magenta: UInt32 = 10000000
}
physicsBody?.categoryBitMask = CollisionCategoryBitmask.circle
邊界有以下口罩:
boundary.physicsBody?.categoryBitMask = CollisionCategoryBitmask.bound
boundary.physicsBody?.collisionBitMask = 11101111
圓與它得到一個位掩碼,應該使它停止與然而邊界它不相沖突的選擇器碰撞後。
self.circles[i].fillColor = .yellow
self.circles[i].physicsBody?.categoryBitMask = 00010000
self.circles[i].physicsBody?.collisionBitMask = 11111011
該代碼在圓圈與拾取器發生碰撞時執行。 結構中的值(如青色和洋紅色)均爲圓形狀態,它不會與該顏色的邊界發生碰撞。我的錯誤在哪裏?