Катание шаров


Фишки Apple, катание шаров

Создайте новый проект, используя шаблон View-based Application, а затем присвойте ему имя Ball. Откройте папки Classes и Resources, чтобы посмотреть файлы, с которыми вам придется работать в данном проекте. Возьмите Ball из архива проектов, в нем найдете файл изображения ball.png. Перетащите его в папку Resources своего проекта.


Щелкните один раз на папке Classes и выберите команду FileNew File. Выберите шаблон Objective-с class из категории Cocoa Touch Class, а затем вариант UlView из раскрывающегося списка Subclass of. Присвойте новому файлу имя BallView.m и убедитесь в том, что создан соответствующий заголовочный файл. Мы еще вернемся к правке этого класса несколько позже.


Дважды щелкните на файле BallViewControIler.xib, чтобы отредактировать его в Interface Builder. Щелкните один раз на пиктограмме View и воспользуйтесь инспектором идентичности, чтобы изменить класс представления с UlView на BallView. Перейдите к инспектору атрибутов и измените цвет фона представления на черный, выбрав вариант Black Color из раскрывающегося списка Background в области View. После этого сохраните nib-файл.


Вернитесь в среду Xcode и выберите заголовочный файл BallViewController.h. В этом файле нужно лишь подготовить почву для применения оболочки Core Motion, поэтому внесите в него изменения.


Приведенный выше вариант метода viewDidLoad очень похож на тот, который применялся ранее в этой статье. Главное отличие заключается в том, что в данном варианте мы объявляем намного более короткий интервал обновления, 60 раз в секунду. В блоке, где мы даем диспетчеру движения команду на выполнение, когда акселерометр обновляет свои показания, мы передаем объект ускорения текущему представлению, а затем вызываем метод draw, обновляющий положение шарика на экране в зависимости от величины ускорения и времени, прошедшего с момента последнего обновления. Этот блок может выполняться в любом потоке. В то же время методы, принадлежащие объектам IffKit (в том числе и классу urview), могут надежно вызываться только из основного потока. Поэтому и на этот раз мы намеренно вызываем метод draw из основного потока.


Раз уж нам приходится выполнять большую часть операций в классе BallView.To почему бы не написать его код? С этой целью щелкните один раз на заголовочном файле BallView.h и внесите в него изменения.


  • Дата: 29-01-2015, 09:50

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

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



Отзывы о статье: Катание шаров

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