Я пишу код для шутера типа Space Invader, и когда я пошел, чтобы установить кадр через CGRect
, игрок перемещается вправо, а затем кажется, что весь кадр переместился в эту сторону.
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch: AnyObject in touches{
let pointOfTouch = touch.location(in: self)
let previousPointOfTouch = touch.previousLocation(in: self)
let amountDragged = pointOfTouch.x - previousPointOfTouch.x
player.position.x += amountDragged
if player.position.x > gameArea.maxX - player.size.width/2 {
player.position.x = gameArea.maxX - player.size.width/2
}
if player.position.x < gameArea.minX + player.size.width/2{
player.position.x = gameArea.minX + player.size.width/2};
}
}
Насколько я могу переместить игрока влево:
Затем игрок падает с экрана вправо:
Я понятия не имею, почему весь кадр движется.