0
因此,我已經在我的遊戲中實現了手勢recongizers來檢測我的玩家的移動,但發現他們沒有給我我想要的結果,所以我正在考慮製作滑動手勢在觸摸方法和觸摸方法中也是觸摸方法。我已經設法使觸摸功能在觸摸方法中工作,但我無法實現在觸摸方法中滑動的功能,我似乎無法找到關於如何執行此操作的教程。我下面的代碼顯示了我使用的嘗試和實現這一目標的方法接觸:在swift中觸摸方法中的滑動手勢
class GameScene: SKScene {
var touchOrigin = CGPoint()
var player = SKSpriteNode()
override func didMove(to view: SKView) {
backgroundColor = .black
player = SKSpriteNode(texture: nil, color: .orange, size: CGSize(width: 50, height: 50))
player.position = CGPoint(x: 0, y: 0)
addChild(player)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
var currentTouchPosition = touch.location(in: self)
touchOrigin = touch.location(in: self)
if (Int(touchOrigin.x) > Int(currentTouchPosition.x)) {
player.position.x -= 50
} else if (Int(touchOrigin.x) < Int(currentTouchPosition.x)) {
player.position.x += 50
}
if touch.tapCount == 1 {
player.position.y += 50 //replace this with function :)
} else if touch.tapCount >= 2 {
player.position.y += 150 // change to run shield effect :)
}
}
}
override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
}
}
我怎樣才能讓觸摸法確認某個方向滑動手勢?如果他們在某個方向上滑動,而不是將他們的手指從屏幕上移開,然後在一個動作中滑回原點,我該如何才能將其識別爲龍頭?