簡體   English   中英

如何使用滑動手勢移動精靈?

[英]How to move a sprite using swipe gesture?

如何通過向左滑動將精靈向左移動,向右滑動以將精靈向右移動,依此類推?

就像我向左滑動一樣,我的精靈會向左移動20點。.我正在使用SpriteKit和Swift。

謝謝! @jonogilmour

我已經以這種方式解決了:

let right = SKAction.moveByX(64, y: 0, duration: 0.6)
    let left = SKAction.moveByX(-64, y: 0, duration: 0.6)
    let up = SKAction.moveByX(0, y: 64, duration: 0.6)
    let down = SKAction.moveByX(0, y: -64, duration: 0.6)



    func swipedRight(sender:UISwipeGestureRecognizer){
        player.runAction(right)
    }
    func swipedLeft(sender:UISwipeGestureRecognizer){
        player.runAction(left)
    }
    func swipedUp(sender:UISwipeGestureRecognizer){
        player.runAction(up)
    }
    func swipedDown(sender:UISwipeGestureRecognizer){
        player.runAction(down)
    }


override func didMoveToView(view: SKView) {


        let swipeRight:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight:"))
    swipeRight.direction = .Right
    view.addGestureRecognizer(swipeRight)

    let swipeLeft:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedLeft:"))
    swipeLeft.direction = .Left
    view.addGestureRecognizer(swipeLeft)

    let swipeUp:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
    swipeUp.direction = .Up
    view.addGestureRecognizer(swipeUp)

    let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
    swipeDown.direction = .Down
    view.addGestureRecognizer(swipeDown)
............

對於滑動,可以使用UIGestureRecognizer ,特別是UISwipeGestureRecognizer 這些都有據可查,因此簡單的Google搜索將為您提供所需的信息。 然后,您將需要在Sprite上使用applyForce()applyImpulse() 同樣,這些都有充分的文檔記錄,並且實現起來很簡單。

兩者之間的區別在於,沖動就像用蝙蝠擊打球一樣。 脈沖一次施加到對象上,並隨着時間逐漸減小。 隨着時間的推移,不斷施加力,就像汽車在加速。 在這種情況下,您可以在滑動上施加一個脈沖並完成該操作,或者可以在update()方法中x_distance < 20施加一個力並繼續施加它。

暫無
暫無

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

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