1
У меня есть следующие две функции стрижа для обнаружения столкновений между SKEmitterNode и SKSpriteNode однако я получаю исключение dynamicCastFailed всякий раз, когда мой излучатель частиц и спрайта конфликтуют:skemitternode столкновение с skspritenode
func projectileDidCollideWithMonster(projectile:SKEmitterNode, monster:SKSpriteNode) {
println("Hit")
projectile.removeFromParent()
monster.removeFromParent()
}
func didBeginContact(contact: SKPhysicsContact) {
// 1
var firstBody: SKPhysicsBody
var secondBody: SKPhysicsBody
if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
firstBody = contact.bodyA
secondBody = contact.bodyB
} else {
firstBody = contact.bodyB
secondBody = contact.bodyA
}
// 2
if ((firstBody.categoryBitMask & PhysicsCategory.Monster != 0) &&
(secondBody.categoryBitMask & PhysicsCategory.Projectile != 0)) {
projectileDidCollideWithMonster(firstBody.node as SKEmitterNode, monster: secondBody.node as SKSpriteNode)
}
}
Можно сделать SKEmitterNodes
столкновение с SKSpriteNodes
или это не сработает?
спасибо, что исправил его! –
Нет проблем! Удачи! – 68cherries