2016-04-29 81 views
-1

https://github.com/bmh3110/JackTheGiantGame無法移動精靈向左或向右SpriteKit

我無法向左或向右移動我的精靈,當屏幕被觸摸。我剛開始這個遊戲,我甚至無法啓動它。我有這個問題幾天,它變得非常沮喪。

GameplayScene.swift

import SpriteKit 

class GameplayScene: SKScene { 
    var player : Player? 
    var canMove = false 
    var moveLeft = false 
    var center : CGFloat? 

    override func didMoveToView(view: SKView) { 
     center = (self.scene?.size.width)!/(self.scene?.size.height)! 
     player = self.childNodeWithName("Player") as? Player! 
    } 

    override func update(currentTime: NSTimeInterval) { 
     managePlayer() 
    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     for touch in touches { 
      let location = touch.locationInNode(self) 

      if location.x > center { 
       moveLeft = false 
      } else { 
       moveLeft = true 
      } 
     } 

     canMove = true 
    } 

    override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    } 

    func managePlayer() { 
     if canMove { 
      player?.movePlayer(moveLeft) 
     } 
    } 
} 

Player.swift

import SpriteKit 

class Player: SKSpriteNode { 
    func movePlayer(moveLeft: Bool) { 
     if moveLeft { 
      self.position.x = self.position.x - 7 
     } else { 
      self.position.x = self.position.x + 7 
     } 
    } 
} 
+0

你需要在這裏發表相對碼。 – Abdou023

+1

確保檢查器中的'player'自定義類是Player類。 – Abdou023

+0

@ Abdou023是的,Player Sprite的類名有播放器類的名字。這是JackTheGiantGame.Player – Doba

回答

0

touchesEnded功能設置canMove = false