gpt4 book ai didi

swift - 等到功能完成

转载 作者:搜寻专家 更新时间:2023-11-01 06:23:38 26 4
gpt4 key购买 nike

我必须添加两个 Sprite 并移动,称为 Space1 和 Space2。在 Space 1 完成移动后,我需要让 Space1 从右向左移动。然后,Space2 将从左向右移动。

我可以通过两个函数 Move1() 和 Move2() 让它们移动;但他们同时开始。如何让Space2等到Space1的Move1函数完成,Space2才开始移动?

这是我的代码

// Create sprite
let space1 = SKSpriteNode(imageNamed: "Spaceship")
space1.position = CGPoint(x: 0, y: frame.height/2)
space1.xScale = 0.3;
space1.yScale = 0.3;
space1.name = "space1";
self.addChild(space1);

let space2 = SKSpriteNode(imageNamed: "Spaceship")
space2.position = CGPoint(x: frame.width, y:0)
space2.xScale = 0.3;
space2.yScale = 0.3;
space2.name = "space2";
self.addChild(space2);

let actualDuration = random(min: CGFloat(1), max: CGFloat(3))
// Create the actions
let actionMove1 = SKAction.moveTo(CGPoint(x: frame.width, y: frame.height/2), duration: NSTimeInterval(actualDuration))

let actionMove2 = SKAction.moveTo(CGPoint(x: 0, y: 0), duration: NSTimeInterval(actualDuration))


self.runAction(SKAction.sequence([SKAction.runAction(actionMove1, onChildWithName: "space1"),SKAction.runAction(actionMove2, onChildWithName: "space2")]))

最佳答案

您可以使用runAction 函数的完成处理程序来获取您需要的内容。在第一个 runAction 函数的 completion handler 中启动下一个 SKAction

space1.runAction(actionMove1, completion: { () -> Void in
space2.runAction(actionMove2)
})

关于swift - 等到功能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com