ゲームプレイキットが統合された通常のゲームアプリの設定を使用します。シーンでは私はSwift SpriteKitスプライトは移動しますが元の位置を保持します
self.hero = SKShapeNode.init(rectOf: CGSize.init(width: 10, height: 10), cornerRadius: 1)
if let hero = self.hero {
let pos = CGPoint.init(x: -50, y: -90)
hero.lineWidth = 5
hero.position = pos
}
self.addChild(self.hero!)
を追加した負荷が次に更新機能では、私はこれが正常に動作してスプライトを移動する必要に応じて、しかし、元にスプライトのコピーが存在すると考え
if let hero = self.hero {
let moveAction = SKAction.moveTo(x: 12, duration: 1)
hero.run(moveAction)
}
を追加しましたポジション。私は何が欠けている。確かにそれは除去され、あなたが(「Hello World」のスプライト・キットゲームテンプレート構文として)使用する必要がありますので、起こったすべての更新
あなたが別の関数内の変数のヒーローにアクセスするにはどうすればよいが、あなたはそれがグローバルたのですか? **すべての**関連コード – Eric
を表示してください。特に、 'self.addChild(self.hero!)'行が呼び出された場所にコードを追加してください。おそらくこのコードラインは何度も呼び出され、重複しているだけです(再利用されたTabelViewCellの一般的なエラーに似ています)。 – muescha
私は不必要な 'let hero = self .hero'は更新機能の中にあり、おそらくあなたのアプリは毎回ヒーローを再現させるでしょう。 – Eric