我正在嘗試使用SKShapenode在Swift中創建牆。即使將碰撞位掩碼設置爲「全部」,字符仍然會在矩形中移動並且不會與其交互。如何用SKShapenode創建牆壁?
建立物理學類:
struct PhysicsCategory {
static let None : UInt32 = 0
static let All : UInt32 = UInt32.max
static let Monster : UInt32 = 0b1
static let Projectile: UInt32 = 0b10
static let Walls : UInt32 = 0b11
static let Player : UInt32 = 0b100
}
我如何試圖建立城牆:
let rectangle = SKShapeNode(rectOfSize: CGSize(width:390, height:200))
rectangle.position = CGPointMake(frame.midX-10, frame.midY + 50)
rectangle.strokeColor = SKColor.blackColor()
rectangle.glowWidth = 1.0
rectangle.physicsBody = SKPhysicsBody(edgeLoopFromRect: rectangle.frame)
rectangle.physicsBody?.dynamic = false
rectangle.physicsBody?.categoryBitMask = PhysicsCategory.Walls
rectangle.physicsBody?.contactTestBitMask = PhysicsCategory.None
rectangle.physicsBody?.collisionBitMask = PhysicsCategory.All
self.addChild(rectangle)
contactTestBitMask用來檢查是否發生接觸,並調用'didBeginContact'方法,collisionBitMask是一個合適的創建高牆上的對象不通過 – Pieter