我没有设置任何物理学,也没有使用场景文件。我只是从代码中设置场景。
那是我设置并启动动作的地方:
let GoUpAction = SKAction.moveTo(CGPoint(x:80,y:size.height-hVar),duration:1);
if node1.position.y < (size.height/6) + 20 {
node2.runAction(GoUpAction)
}
当它执行时,node2开始以正常速度向上移动,但是(y ++)越高,它移动得越慢。
有趣的事情-通常,这种行为适合我,但我希望能从距离目的地仅1/4的距离开始减速。或根本没有减速。
我没有设置任何重力或任何东西。非常基本的设置。
这是定义节点的方式:
let node2 = SKSpriteNode(imageNamed: "n2")
node2.name = "n2"
node2.position = CGPoint(x: size.width-80, y: size.height-hVar)
node2.xScale = 0.25
node2.yScale = 0.25
node2.zPosition = -1
addChild(node2)
最佳答案
我没有设置任何重力或任何东西。非常基本的设置。
默认值为(0.0,-9.8),这可能会在y方向上减慢节点速度。尝试设置您的物理身体的属性affectedByGravity
,
node2.physicsBody.affectedByGravity = NO;
或在创建场景时设置“全局”
gravity
,self.physicsWorld.gravity = CGVectorMake(0.0f, 0.0f);
摆脱重力。