2017-04-16 167 views
1

嘿大家我的問題是相對簡單的,我怎麼得到我的兩個塊切換位置,每次我點擊屏幕的左側...就像如果我點擊一次兩個塊切換位置,然後如果我再次點擊他們回到他們的初始位置(在某種意義上切換回來),然後他們繼續每一次點擊。編碼一個SpriteKit遊戲

下面的圖片包含我的遊戲場景,忽略藍色和黃色塊,紅色塊的初始位置是x:0,y:475,綠色塊的初始位置是x:0,y:550

Screenshot

我又需要切換每次我觸摸屏幕的左側時間塊位置幫助。

//These are my actions... 

let topUnderBlockSwitch = SKAction.moveTo(y: 550, duration: 0.1) 
let topAboveBlockSwitch = SKAction.moveTo(y: 475, duration: 0.1) 
let bottomUnderBlockSwitch = SKAction.moveTo(y: -475, duration: 0.1) 
let bottomTopBlockSwitch = SKAction.moveTo(y: -550, duration: 0.1) 


override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 

    for touch in touches { 

    let location = touch.location(in: self) 
    if location.x < 0 { 

     if greenBlock.position.y == 550 { 

      redBlock.run(topUnderBlockSwitch) 
      greenBlock.run(topAboveBlockSwitch) 

     } else if greenBlock.position.y == 475 { 

      redBlock.run(topUnderBlockSwitch) 
      greenBlock.run(topAboveBlockSwitch) 

     } 

    } else if // the rest of the code for the right side... 

回答

1

如何:

redBlock.run(SKAction.moveTo(y:greenBlock.position.y, duration:0.1)) 
greenBlock.run(SKAction.moveTo(y:redBlock.position.y, duration:0.1)) 

那麼你就不必硬編碼座標在多個位置。

+0

非常感謝你阿蘭你不知道這對我意味着什麼:) –