运行 2 '.move' SKActions 同时进行
Run 2 '.move' SKActions simultaneously
我正在使用 SKSpriteNode
和 SKAction
实现五彩纸屑。
期望的行为:
五彩纸屑应该 来回摆动 同时掉落。
实际行为:
五彩纸屑落下 -- 但不会来回摇摆。
我试过的:把两个动作放到一个group
中,像这样:
let x = MainData.screenWidth*CGFloat.random(in: 0...1)
let testNode = SKSpriteNode(texture: MainData.confettiTexture)
let gravityAction = SKAction.move(to: CGPoint(x: x, y: -100.0), duration: 5.0)
let swaySequence = SKAction.sequence([
SKAction.move(by: CGVector(dx: -MainData.screenWidth*0.2, dy: 0.0), duration: 0.5),
SKAction.move(by: CGVector(dx: MainData.screenWidth*0.2, dy: 0.0), duration: 0.5)
])
let swayInfinitely = SKAction.repeatForever(swaySequence)
let group = SKAction.group([
swayInfinitely,
gravityAction
])
gravityAction.timingMode = .easeIn
testNode.position = CGPoint(x: x, y: MainData.screenHeight)
testNode.size = CGSize(width: MainData.screenWidth*0.05, height: MainData.screenWidth*0.05)
testNode.run(group)
我的理论:
我猜这个问题的发生是因为我试图同时使用 move(to:duration:)
和 move(by:duration:)
,因此提供了冲突的 x 轴值。
那么,我怎样才能让我的五彩纸屑在掉落的同时来回摇摆呢?我在做什么 wrong/not 了解 SKAction
?
将五彩纸屑节点作为父 SKNode 的子节点。让父节点 运行 重力作用,让五彩纸屑节点 运行 摇摆。
我正在使用 SKSpriteNode
和 SKAction
实现五彩纸屑。
期望的行为: 五彩纸屑应该 来回摆动 同时掉落。
实际行为: 五彩纸屑落下 -- 但不会来回摇摆。
我试过的:把两个动作放到一个group
中,像这样:
let x = MainData.screenWidth*CGFloat.random(in: 0...1)
let testNode = SKSpriteNode(texture: MainData.confettiTexture)
let gravityAction = SKAction.move(to: CGPoint(x: x, y: -100.0), duration: 5.0)
let swaySequence = SKAction.sequence([
SKAction.move(by: CGVector(dx: -MainData.screenWidth*0.2, dy: 0.0), duration: 0.5),
SKAction.move(by: CGVector(dx: MainData.screenWidth*0.2, dy: 0.0), duration: 0.5)
])
let swayInfinitely = SKAction.repeatForever(swaySequence)
let group = SKAction.group([
swayInfinitely,
gravityAction
])
gravityAction.timingMode = .easeIn
testNode.position = CGPoint(x: x, y: MainData.screenHeight)
testNode.size = CGSize(width: MainData.screenWidth*0.05, height: MainData.screenWidth*0.05)
testNode.run(group)
我的理论:
我猜这个问题的发生是因为我试图同时使用 move(to:duration:)
和 move(by:duration:)
,因此提供了冲突的 x 轴值。
那么,我怎样才能让我的五彩纸屑在掉落的同时来回摇摆呢?我在做什么 wrong/not 了解 SKAction
?
将五彩纸屑节点作为父 SKNode 的子节点。让父节点 运行 重力作用,让五彩纸屑节点 运行 摇摆。