Ios spritekit未开始接触三个对象未工作
我正在通过三个节点尝试[didBeginContact]。我是用密码写的。 但它不能正常工作。当白色矩形折叠而不点击黑色或白色矩形时, println(“黑色”)和println(“蓝色”)作品。。。 当白色矩形击中黑色矩形时,打印(“蓝色”)工作Ios spritekit未开始接触三个对象未工作,ios,swift,sprite-kit,xcode6,Ios,Swift,Sprite Kit,Xcode6,我正在通过三个节点尝试[didBeginContact]。我是用密码写的。 但它不能正常工作。当白色矩形折叠而不点击黑色或白色矩形时, println(“黑色”)和println(“蓝色”)作品。。。 当白色矩形击中黑色矩形时,打印(“蓝色”)工作 导入SpriteKit 类游戏场景:SKScene,SKPhysicContactDelegate{ 让blackCategory:UInt32=0x11)根据您的联系人处理程序,您应该将类别设置为 let whiteCategory: U
导入SpriteKit
类游戏场景:SKScene,SKPhysicContactDelegate{
让blackCategory:UInt32=0x11)根据您的联系人处理程序,您应该将类别设置为
let whiteCategory: UInt32 = 0x1 << 0
let blackCategory: UInt32 = 0x1 << 1
let blueCategory: UInt32 = 0x1 << 2
以上内容应该是
blueSquare.physicsBody?.categoryBitMask = blueCategory
blueSquare.physicsBody?.contactTestBitMask = whiteCategory
3) 这里不需要第三个接触体
func didBeginContact(contact: SKPhysicsContact!) {
var firstBody, secondBody: SKPhysicsBody
if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
firstBody = contact.bodyA
secondBody = contact.bodyB
} else {
firstBody = contact.bodyB
secondBody = contact.bodyA
}
if ((firstBody.categoryBitMask & whiteCategory) != 0 &&
(secondBody.categoryBitMask & blackCategory != 0)) {
//secondBody.node?.removeFromParent()
println("black")
}
if ((firstBody.categoryBitMask & whiteCategory != 0) &&
(secondBody.categoryBitMask & blueCategory != 0)) {
//secondBody.node?.removeFromParent()
println("blue")
}
}
“不工作”不是问题描述
blueSquare.physicsBody?.categoryBitMask = blueCategory
blueSquare.physicsBody?.contactTestBitMask = whiteCategory
func didBeginContact(contact: SKPhysicsContact!) {
var firstBody, secondBody: SKPhysicsBody
if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
firstBody = contact.bodyA
secondBody = contact.bodyB
} else {
firstBody = contact.bodyB
secondBody = contact.bodyA
}
if ((firstBody.categoryBitMask & whiteCategory) != 0 &&
(secondBody.categoryBitMask & blackCategory != 0)) {
//secondBody.node?.removeFromParent()
println("black")
}
if ((firstBody.categoryBitMask & whiteCategory != 0) &&
(secondBody.categoryBitMask & blueCategory != 0)) {
//secondBody.node?.removeFromParent()
println("blue")
}
}
whiteRectangle.physicsBody?.contactTestBitMask = blackCategory
whiteRectangle.physicsBody?.contactTestBitMask = blueCategory