Ios 如何在swift中仅更改x位置

Ios 如何在swift中仅更改x位置,ios,swift,swift2,Ios,Swift,Swift2,我试图制作一个非常简单的非滚动平台,但我在运动方面遇到了问题。我有一个变量(xspd),希望更改精灵(或节点或其他名称)的x位置,但我不能将该变量包含在CGVectorMake括号内。这是出现问题的代码: alien.physicsBody?.applyImpulse(CGVectorMake(xspd, 0)) “CGVectorMake”后面的部分就是有问题的部分。它说,在CGFloat值中不能使用双值。(xspd变量是一个双精度变量)有人能帮忙吗?如果我知道一种只通过变量

我试图制作一个非常简单的非滚动平台,但我在运动方面遇到了问题。我有一个变量(xspd),希望更改精灵(或节点或其他名称)的x位置,但我不能将该变量包含在CGVectorMake括号内。这是出现问题的代码:

        alien.physicsBody?.applyImpulse(CGVectorMake(xspd, 0))
“CGVectorMake”后面的部分就是有问题的部分。它说,在CGFloat值中不能使用双值。(xspd变量是一个双精度变量)有人能帮忙吗?如果我知道一种只通过变量移动x轴的方法,或者了解如何将double转换为CGFloat值,那就太好了

谢谢,
James

您需要将这些参数从
Double
转换为
CGFloat

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

您需要将这些参数从
Double
转换为
CGFloat

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

无需执行
CGFloat(0.0)
0
就足够了,因为
CGFloat
符合
integerliteralcoverable
。此外,建议在
*Make
函数上使用初始化器。所以:
alien.physicsBody?.applyImpulse(CGVector(dx:CGFloat(xspd),dy:0))
(我想投票,但我不能,因为我是新手)不需要做
CGFloat(0.0)
0
就足够了,因为
CGFloat
符合
integerliteralConverable
。此外,建议在
*Make
函数上使用初始化器。所以:
alien.physicsBody?.applyImpulse(CGVector(dx:CGFloat(xspd),dy:0))
(我想投票,但我不能,因为我是新来的)