Мне бы хотелось, чтобы SKSpriteNodes мог позаботиться о собственном обнаружении контактов. Как и в Unity, существуют собственные OnTriggerEnter
методы для GameObjects. Но я не знаю, как добиться этого в SpriteKit, некоторая помощь будет очень цениться
Пример того, как я бы "хотел", чтобы она работала:
пример Класс Ball:
import SpriteKit
class Ball: SKSpriteNode, SKPhysicsContactDelegate {
func didBegin(_ contact: SKPhysicsContact) {
print("INSIDE BALL: ",contact.bodyA.node?.name, contact.bodyB.node?.name)
}
init(x: Int, y: Int) {
physicsWorld.contactDelegate = self ????
//setting up Physicsbody etc
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
пример файла сцены
import SpriteKit
import GameplayKit
class GameScene: SKScene, SKPhysicsContactDelegate {
override func didMove(to view: SKView) {
physicsWorld.contactDelegate = self
}
func didBegin(_ contact: SKPhysicsContact) {
print("INSIDE MAIN: ",contact.bodyA.node?.name, contact.bodyB.node?.name)
}
Или как вы управляете большим количеством логи контактов c?
Спасибо за любую помощь и извините, если вопросы странно сформулированы