[英]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.