簡體   English   中英

無法在 SpriteKit 中向左或向右移動精靈

[英]Unable to move sprite left or right in SpriteKit

https://github.com/bmh3110/JackTheGiantGame

觸摸屏幕時,我無法向左或向右移動我的精靈。 我剛剛開始這個游戲,我什至無法讓它工作。 我已經有這個問題幾天了,它變得非常令人沮喪。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM