2016-03-21 13 views
0

非常に単純なスクロールしないプラットフォーマーを作ろうとしており、動きに問題があります。私は変数(xspd)を持っており、スプライト(またはノードまたはそれが呼び出されているもの)のx位置を変更したいのですが、変数をCGVectorMakeの括弧の中に入れることはできません。これは問題のあるコードです:スウィフトでx位置だけを変更する方法

 alien.physicsBody?.applyImpulse(CGVectorMake(xspd, 0)) 

「CGVectorMake」の後の部分は問題のある部分です。これは、CGFloatの値でdoubleを使うことはできないと言います。 (xspd変数は二重です)助けてもらえますか?変数を使ってx軸だけを移動する方法や、doubleをCGFloat値に変換する方法を知ることは、素晴らしいことです。

おかげで、あなたはDoubleからCGFloatにそれらのパラメータを変換する必要があり ジェームズ

答えて

2

alien.physicsBody?.applyImpulse(CGVectorMake(CGFloat(xspd), CGFloat(0.0))) 
+0

'CGFloat(0.0)'を実行する必要はなく、 'CGFloat'が' IntegerLiteralConvertible'に準拠しているので '0'で十分です。また、 '* Make'関数よりも初期化子を使うことをお勧めします。だから: 'alien.physicsBody?.applyImpulse(CGVector(dx:CGFloat(xspd)、dy:0))' – DeFrenZ

+0

助けてくれてありがとう!今はうまくいく! –

+0

(私はupvoteしたいが、私は新しいので、私はできません) –

関連する問題