Построение представления для шарика


Фишки iPad, построение представления для шарика

Используя оба эти прямоугольника, мы можем обеспечить стирание прежнего изображения шарика и одновременное рисование нового его изображения.


Наконец, создаем новый прямоугольник, объединяющий оба только что рассчитанных прямоугольника, а затем передаем его методу setNeedsDisplaylnRect, указывая тем самым часть представления, которую нужно перерисовать.


И последним существенным методом в рассматриваемом здесь классе является метод draw, применяемый для точного определения нового местоположения шарика. Этот метод вызывается в методе акселерометра из класса его контроллера после того, как текущему представлению будет предоставлен новый объект ускорения. В этом методе прежде всего объявляется статическая переменная NSDate, с помощью которой отслеживается промежуток времени, прошедшего с момента последнего вызова метода draw. Когда данный метод вызывается в первый раз, а переменная lastDrawTime содержит пустое значение nil, мы ничего не делаем, потому что у нас пока еще нет никакой точки отсчета. Поскольку обновления показаний акселерометра происходят около 60 раз в секунду, никто даже не заметит одного отсутствующего кадра анимации.


При каждом последующем вызове метода draw мы рассчитываем промежуток времени, прошедшего с момента его последнего вызова. Мы инвертируем возвращаемое значение timelntervalSinceNow, поскольку момент времени, когда рисование выполнялось в последний раз (lastDrawTime), принадлежит прошлому. Следовательно, возвращаемое значение будет отрицательным числом, обозначающим количество секунд, прошедших от момента рисования в последний раз (lastDrawTime) до текущего момента времени.


Далее рассчитываем новую скорость в обоих направлениях, добавляя текущее ускорение к скорости движения в настоящий момент. Величину ускорения умножаем на значение переменной secondsSinceLastDraw, чтобы согласовать ускорение во времени. Наклон мобильного телефона под одним и тем же углом будет всегда вызывать одно и то же ускорение.


  • Дата: 29-01-2015, 16:47

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Построение представления для шарика

Технологии, секреты и фишки Apple: Iphone, iPad, iPod