【发布时间】:2021-03-11 15:49:45
【问题描述】:
我正在使用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 轴值。
那么,我怎样才能让我的五彩纸屑在摔倒的同时来回摇摆?我在做什么错/不了解SKAction?
【问题讨论】:
标签: swift sprite-kit