2017-03-21 4 views
0

私はspriteKitを使用して小さなゲームを作成しています。私のスプライトは高速から上から下に落ちています。時間を管理したいのです。私は方法があることを知っている、SKactionはこれを行うことができます。しかし、私はこの機能を実装する方法を知らない。spriteKit swiftで私のスプライトのスピードを遅くするには?

これは私のコードです:

var item: SKSpriteNode?;  
    item!.zPosition = 3; 
    item!.anchorPoint = CGPoint(x: 0.5, y: 0.5); 
    item!.position.x = randomBetweenNumbers(firstNum: minX+10, secondNum: maxX+10); 
    item!.position.y = 500; 

これは完全に実行されているが、私の落下スプライトの速度は私にとって非常に高いですが、私はこれをしようとしていたときに、これは私にエラーを与えます。 タイプのSKactionはタイプCGFLoatに割り当てられません。

item!.position.y = SKAction.move(to: CGPoint(x:0,y:500), duration: (2)); 

ここでは、どのように対処してください?

+0

位置プロパティは「CGPoint」です。 'CGPoint'は構造体であり、' CGFloat'という2つのプロパティxとyを持ちます。あなたは 'CGFloat'プロパティに' SKAction'インスタンスを割り当てることはできません... – Whirlwind

答えて

1

sprite-kitではイメージは実際の世界なので、落ちる速度を落としたい場合はgravityを設定し、「軽い」gravityを設定すると、アイテムの速度が落ちます。

Spritekit tutorial

+0

これは物理学を使ってオブジェクトを移動して制御していると仮定した場合にのみ該当します –

2

必要であればあなたは、あなたのオブジェクトを移動するために物理学を使用することができますが、物理学を使用して物理学や衝突検出を必要としない場合には必要ではないかもしれません。 CGFloatが必要なプロパティにSKActionを適用できないため、エラーが発生しています。 SKActionを使用してオブジェクトを移動する場合は、そのように実行します。

item!.run(SKAction.move(to: CGPoint(x:0,y:500), duration: (2))); 
+0

はい物理学を使用しています私はオブジェクトに重力を加え、どのように使用しますか? –

+0

あなたはゲームが完璧に実行されていると言う...どうやってオブジェクトを今動かしているのですか? –

関連する問題