GameplayKitの使用方法、特にエージェント&の動作を習得しようとしています。すべてのチュートリアルとそのサンプルを、自分のアプリの出発点として使うことができる小さくてシンプルなコードに煮詰めようとしています。残念ながら、私が思いついたことは、うまく動作せず、なぜ私は理解できません。それは単純なGKGoal(toWander :)を持つ単純なスプライトです。放浪するのではなく、ちょうど右に、まっすぐに動きます。それは私の最高速度&の加速をばかげて高い値に設定しているにもかかわらず、非常にゆっくりと始まり、非常にゆっくりと加速します。私は単純なコードとそこにあるすべての複雑な例の根本的な違いを理解できません。ここでは、コードですが、マイナスrequired init?(coder aDecoder: NSCoder)
:GameplayKit GKGoal:放浪することができません
class GremlinAgent: GKAgent2D {
override init() {
super.init()
maxAcceleration = 100000
maxSpeed = 1000000
radius = 20
}
override func update(deltaTime seconds: TimeInterval) {
super.update(deltaTime: seconds)
let goal = GKGoal(toWander: 100)
behavior = GKBehavior(goal: goal, weight: 1)
}
}
class Gremlin: GKEntity {
let sprite: SKShapeNode
init(scene: GameScene) {
sprite = SKShapeNode(circleOfRadius: 20)
sprite.fillColor = .blue
scene.addChild(sprite)
super.init()
let agent = GremlinAgent()
addComponent(agent)
let node = GKSKNodeComponent(node: sprite)
addComponent(node)
agent.delegate = node
}
}
そしてGameScene.swift、didMove(to view:)
中:
let gremlin = Gremlin(scene: self)
entities.append(gremlin)
誰も私を助けることはできますか?