Posts

Post not yet marked as solved
1 Replies
575 Views
I'm not able to load GameplayKit entities from the scene with GKComponents working. In Xcode 10.2.1 I started with a new Spritekit/GameplayKit project. I added a new component class to the project:class TestComponent : GKAgent2D { override init() { super.init() let goal = GKGoal(toWander: 1) behavior = GKBehavior(goal: goal, weight: 1) print("Wander goal added") } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func didAddToEntity() { super.didAddToEntity() if let entity = self.entity, let nodeComp = entity.component(ofType: GKSKNodeComponent.self) { self.delegate = nodeComp print("Added node component as delegate") } } override func update(deltaTime seconds: TimeInterval) { super.update(deltaTime: seconds) print("\(self.position) @ \(self.velocity)") } }I then set the "Hello World" string to have this component. When I run, the "Hello World" sprite isn't seen and the logs show:Wander goal added Added node component as delegate SIMD2<Float>(0.0, 0.0) @ SIMD2<Float>(0.0, 0.0) SIMD2<Float>(-nan, -nan) @ SIMD2<Float>(-nan, -nan) SIMD2<Float>(-nan, -nan) @ SIMD2<Float>(-nan, -nan) SIMD2<Float>(-nan, -nan) @ SIMD2<Float>(-nan, -nan) SIMD2<Float>(-nan, -nan) @ SIMD2<Float>(-nan, -nan) ...Is there something simple I'm missing here or is there are bug with GKComponents set in the scene file?- jjacob
Posted
by jjacob.
Last updated
.