无法移动精灵向左或向右SpriteKit
问题描述:
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
}
}
}
答
在touchesEnded
功能设置canMove = false
你需要在这里发表相对码。 – Abdou023
确保检查器中的'player'自定义类是Player类。 – Abdou023
@ Abdou023是的,Player Sprite的类名有播放器类的名字。这是JackTheGiantGame.Player – Doba