SpriteKit:对象在彼此下面
SpriteKit: Objects go underneath each other
我的游戏中有两辆坦克,一红一蓝。
我已经设置了它们的 PhysicsBody,但它们没有相互撞击,而是在彼此下方。
Simulator Screenshot (1)
物理类别:
struct physicsCategory {
static let Bullet : UInt32 = 0x1 << 0
static let Enemy : UInt32 = 0x1 << 1
static let MainTank : UInt32 = 0x1 << 2
static let EnemyTank : UInt32 = 0x1 << 3
}
这是蓝色坦克代码:
MainTank = (self.childNode(withName: "tank") as? SKSpriteNode)!
MainTank.name = "blueTank"
MainTank.physicsBody?.categoryBitMask = physicsCategory.MainTank
MainTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
MainTank.physicsBody?.contactTestBitMask = physicsCategory.Enemy
红色坦克的:
enemyTank = SKSpriteNode(imageNamed: "tank_red")
enemyTank.size = CGSize(width: 76, height: 92)
enemyTank.name = "enemyTank"
enemyTank.zPosition = 0
enemyTank.physicsBody = SKPhysicsBody(rectangleOf: enemyTank.size)
enemyTank.physicsBody?.categoryBitMask = physicsCategory.EnemyTank
enemyTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
enemyTank.physicsBody?.contactTestBitMask = physicsCategory.MainTank
enemyTank.physicsBody?.isDynamic = false
换行就行了
enemyTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
到
enemyTank.physicsBody?.collisionBitMask = physicsCategory.MainTank
我的游戏中有两辆坦克,一红一蓝。
我已经设置了它们的 PhysicsBody,但它们没有相互撞击,而是在彼此下方。
Simulator Screenshot (1)
物理类别:
struct physicsCategory {
static let Bullet : UInt32 = 0x1 << 0
static let Enemy : UInt32 = 0x1 << 1
static let MainTank : UInt32 = 0x1 << 2
static let EnemyTank : UInt32 = 0x1 << 3
}
这是蓝色坦克代码:
MainTank = (self.childNode(withName: "tank") as? SKSpriteNode)!
MainTank.name = "blueTank"
MainTank.physicsBody?.categoryBitMask = physicsCategory.MainTank
MainTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
MainTank.physicsBody?.contactTestBitMask = physicsCategory.Enemy
红色坦克的:
enemyTank = SKSpriteNode(imageNamed: "tank_red")
enemyTank.size = CGSize(width: 76, height: 92)
enemyTank.name = "enemyTank"
enemyTank.zPosition = 0
enemyTank.physicsBody = SKPhysicsBody(rectangleOf: enemyTank.size)
enemyTank.physicsBody?.categoryBitMask = physicsCategory.EnemyTank
enemyTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
enemyTank.physicsBody?.contactTestBitMask = physicsCategory.MainTank
enemyTank.physicsBody?.isDynamic = false
换行就行了
enemyTank.physicsBody?.collisionBitMask = physicsCategory.Enemy
到
enemyTank.physicsBody?.collisionBitMask = physicsCategory.MainTank