我有兩個節點node1和node2。節點1位於位置0.當我點擊屏幕時,它將執行其操作,直到屏幕中間或用戶將其手指從屏幕上移開。一旦node1到達屏幕中間,它將停止,並且node2將運行它的操作。我的代碼到目前爲止。spritekit如何在兩個不同的節點上轉換兩個SKAction
但是,爲了使節點2運行其操作,用戶必須從屏幕上移開他們的手指並再次觸摸它。我不希望發生這種情況。我想讓node2在node1完成後運行,而不需要用戶從屏幕上移除他們的手指。
基本上,用戶正在按住屏幕node1運行其操作完成,然後node2運行其操作。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let Node1Move=SKAction.moveBy(x:50,y:0,duration:0.6)
let node1rep=SKAction.repeatForever(Node1Move)
node1.run(node1rep)
if modeNode2==1{
let node2move=SKAction.moveBy(x:-10,y:0,duration:0.9)
let node2Rep=SKAction.repeatForever(node2move)
node2.run(node2Rep)
}
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
node1.removeAllActions()
node2.removeAllActions()
}
override func update(_ currentTime: TimeInterval) {
if node1.position.x+node1.frame.width > self.frame.width/2{
node1.removeAllActions()
moveNode2=1
}
}
我累了把node2的行動更新,但沒有奏效。 –
有一個序列動作,允許您在鏈中包含多個動作以逐個執行。不知道這是否會有所幫助,所以不會把它作爲答案,但檢查出來。 –