私は小さなspriteKitGameを構築しようとしています。私は、いくつかのタンクスプライトノードを特定のポイントに移動するためにこの関数を使用しようとしています。SKActionmoveを確実に動作させることができません
以下は、コードスニペットです。
let tankSpawn = CGPoint(x: self.size.width , y: 70);
tank.position = tankSpawn;
tank.zPosition = 3.0;
let targetPoint = CGPoint(x: -tank.size.width/2, y: tank.position.y);
let actionMove = SKAction.move(to: targetPoint, duration: TimeInterval(tankMoveDuration))
これは私の結果です。彼らは正しいポイント(70units)で産卵していますが、示されているようにダウンしています。
私は彼らが一直線に行きたいです。目標点yを定数として設定します。私はなぜ彼らがいくつかのボトムソースを守るために行くつもりはない。
私は、上記で生成された(完全に動作している)プレーンのコードが似ています。
let plane = SKSpriteNode(imageNamed: "SpaceShip");
let planeMoveDuration = 3.0
let planeSpawn = CGPoint(x: self.size.width , y: self.size.height/2);
plane.position = planeSpawn;
plane.zPosition = 3.0;
let actionMove = SKAction.move(to: CGPoint(x: -plane.size.width/2, y: plane.position.y), duration: TimeInterval(planeMoveDuration))
私の間違いが何であるか分かりません。
ターゲットのy座標をtank.position.y
に変更しようとしましたが、動作しません。
次の後にブレークポイントを設定します。let targetPoint = ...そして、xとyの値がどのように見えるかを確認します。また、あなたのスプライトには物理機関がありますか?いくつかのタイプミスやそのようなものを探します(おそらく、いくつかの変数を誤って上書きしているかもしれません)。 – Whirlwind
彼らはどれくらい早く落ちますか?彼らは重力の下に落ちていますか?物理学の体を持つスプライトキットのシーンには重力があり、これを避ける特別な行動を取らない限り、物は落ちるでしょうか? –
@SteveIves、それは重力です。はい。私は声明tank.physicsbody?isAffectedByGravity = falseを追加しました。今はすべてが正しく動作しています。 – Quicksillver