Я пытаюсь переместить мяч из одного конца экрана в другой, когда нажимается кнопка воспроизведения. Мой код не перерисовывает мяч, пока он не достигнет правой стороны экрана.
Вы используете функцию сна в основном потоке и внутри цикла while. После того, как ваш цикл закончится, у основного потока есть шанс нарисовать ваше положение с измененным видом. Также, если вы хотите оживить представления, посмотрите ответ Ракеши. Также использование сна в основном потоке может вызвать огромные проблемы во многих направлениях.





Вы должны заключить свой код, чтобы переместить мяч в блок UIView.animate.
UIView.animate(with: 1, animations: {
//Code which animates your view
})
И не используйте спящий режим, если вы хотите, чтобы код запускался после 1-секундной анимации. Используйте блок завершения внутри UIView.animate.
UIView.animate(with: 1, animations: {
ball.center.x += balllVelocity
}, completion: (finished) in
if finished {
ball.center.x > view.frame.size.width {
gameRunning = false
}
}
}
Есть много вещей, которые вы можете сделать с UIView.animate, я предлагаю вам пройти документация, чтобы улучшить вашу анимацию.
это очень помогло, но я столкнулся с отдельной проблемой, я просто опубликовал ее, если вы тоже хотите мне с этим помочь. Благодарность!
Конечно, я попробую. Где вопрос?
только что выложил!
Пожалуйста, разместите свой код в вопросе. Не изображение. Я думаю, что нашел проблему. Но мне нужен ваш код в вопросе как код, а не как изображение.
Я отправлю код позже, он говорит, что я достиг лимита вопросов
@NorbuSonam Вы можете отменить удаление вопроса и отредактировать его, добавив свой код.
Добро пожаловать в StackOverflow. Пожалуйста, разместите код как текст, а не изображения, чтобы его можно было найти