2016-09-26 1 views
0

私は小さな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)で産卵していますが、示されているようにダウンしています。

enter image description here

私は彼らが一直線に行きたいです。目標点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に変更しようとしましたが、動作しません。

+1

次の後にブレークポイントを設定します。let targetPoint = ...そして、xとyの値がどのように見えるかを確認します。また、あなたのスプライトには物理機関がありますか?いくつかのタイプミスやそのようなものを探します(おそらく、いくつかの変数を誤って上書きしているかもしれません)。 – Whirlwind

+0

彼らはどれくらい早く落ちますか?彼らは重力の下に落ちていますか?物理学の体を持つスプライトキットのシーンには重力があり、これを避ける特別な行動を取らない限り、物は落ちるでしょうか? –

+0

@SteveIves、それは重力です。はい。私は声明tank.physicsbody?isAffectedByGravity = falseを追加しました。今はすべてが正しく動作しています。 – Quicksillver

答えて

3

重力の下に落ちていますか?物理学の体を持つスプライトキットのシーンには重力があり、これを避けるために特定の行動を取らない限り、物は落ちます。

あなたのゲームを開発していて、画面上の基本的な要素や動きなどがうまくいれば、衝突検出機能を追加して物理オブジェクトを追加してからwhooshを追加したい行く?

+3

その男は常に重力を抑えています。 – Knight0fDragon

関連する問題