Автор: Пользователь скрыл имя, 17 Апреля 2012 в 22:34, методичка
Учебное пособие посвящено знакомству с основами разработки приложений под операционную систему Mac OS X с графическим интерфейсом.
В пособии рассмотрены некоторые возможности среды разработки Xcode, описана работа с ней, представлены примеры приложений, разработанными в данной среде.
Учебное пособие предназначено для любого пользователя, который хочет ознакомиться с основами работы на Xcode.
Министерство образования Российской Федерации
Санкт – Петербургский государственный технологический институт
(Технический университет) ______________________________
Кафедра систем автоматизированного проектирования и управления
Караева В. С.
Исследование сред разработки программного обеспечения для ОС MAC OS с графическим пользовательским интерфейсом.
Методические указания
Санкт – Петербург
2011
Караева В.С. Исследование сред разработки программного обеспечения для ОС MAC OS с графическим пользовательским интерфейсом: методические указания. /В.С. Караева,– СПб.: СПбГТИ(ТУ), 2011. – 80 с.
Учебное пособие посвящено знакомству с основами разработки приложений под операционную систему Mac OS X с графическим интерфейсом.
В пособии рассмотрены некоторые возможности среды разработки Xcode, описана работа с ней, представлены примеры приложений, разработанными в данной среде.
Учебное пособие предназначено для любого пользователя, который хочет ознакомиться с основами работы на Xcode.
Ил. 37
Оглавление
Введение 4
Общие сведения о Mac OS 5
Полезные программы на каждый день 12
Программы для работы с мультимедийными данными 15
Программы для работы с Internet 16
Общие сведения о Xcode 17
Общие сведения о VMWare 23
Установка образа Mac OS X на виртуальную машину 25
Создаем приложение 33
Разработка игры в XCode 51
Импорт изображения 55
Пишем программный код 58
Компиляция 68
Тест 68
Литература 70
VMware Workstation — это программа, позволяющая создавать и запускать одновременно несколько Виртуальных Машин (x86-архитектуры), в каждой из которых работает своя гостевая операционная система (например, Microsoft Windows, GNU/Linux , Mac OS и т. п.). Также позволяет создавать снимки Гостевой операционной системы.
Mac OS вышла в свет в 1984 году вместе с первым персональным компьютером Macintosh от компании Apple. Идеи, воплощенные в первой версии системы Mac OS, ее авторы почерпнули у фирмы Xerox. Соединив уже имеющиеся наработки и собственные идеи, программисты компании Apple создали Mac OS, первую доступную для всех графическую операционную систему. Операционная система компании Apple Mac OS X на данный момент представлена в двух вариантах: версия для рабочих станций и ноутбуков, а также версия для сервера, необходимая для организации работы локальной сети предприятия. После выхода версии Mac OS X 10.0 было выпущено еще шесть ее модификаций, каждая из которых носит название животного из семейства кошачьих. В данном пособии мы изучали работу приложений с помощью операционной системы Mac OS X 10.6 Snow Leopard.
Mac OS X 10.6 Snow Leopard: была представлена в июне 2008 года и включает в себя ряд кардинальных изменений. Теперь она работает только на процессорах Intel, использует в работе 64-разрядные технологии, одинаково работает с 64-разрядными и 32-разрядными приложениями, занимает почти в два раза меньше места на диске, быстрей устанавливается, грузится и работает.
Xcode - интегрированная среда разработки приложений для компьютеров Apple под управлением Mac OS X. Она включает в себя все средства, необходимые для создания, отладки и оптимизации приложений Universal Binary, работающих как на Intel Макинтошах, так и на платформе PowerPC. Центральным элементом Xcode является графическая среда, в которую интегрированы текстовый редактор, поддерживающий выделение синтаксиса программного кода; система контроля; отладчик и мощный компилятор GCC, который формирует инсталляционный пакет как для Intel, так и для PowerPC, вне зависимости от платформы на которой он работает. Xcode - средство, являющееся достаточно простым для того, чтобы создать рабочий проект за считанные минуты, но при этом позволяющим создавать сложнейшие приложения для Mac OS X
Еще в 1984 году авторы Mac OS задались целью создать такую операционную систему, которая будет удобна и интуитивно понятна любому пользователю, даже не изучавшему компьютер ранее. До этого времени компьютерными программами и процессами управляли с помощью командной строки, поэтому появление наглядных значков обозначавших папки, корзину, компьютер и другие элементы стало настоящей сенсацией того времени. Эти значки авторы стали называть иконками. Разработчики Mac OS определили основы дальнейшего развития всех операционных систем, многое из того, что они придумали в далеком 1984 году, сейчас является эталоном для всех разработчиков программного обеспечения.
Первая версия Mac OS занимала всего 216 кб дискового пространства и работала даже при обычном копировании с одного компьютера на другой. Но такой продукт был совершенно не защищен от подделки, поэтому для того, чтоб сохранить свои доходы разработчики все дальнейшее время посвятили не только ее техническому усовершенствованию, расширению функциональности и стабильности, но и защите. После выхода первой версии Mac OS вышло еще девять ее модификаций, в которых были введены такие улучшения как:
- использование мульти файндера, позволяющего работать сразу нескольким приложениям одновременно;
- усовершенствование мультимедийных функций и возможностей работы в интернете;
- смена черно-белых иконок на цветные, а позже появление нового «платинового» интерфейса и возможности выбирать тему на свой вкус;
- появление новой файловой системы HFS+;
- улучшение функций инсталлеров;
- появление программы Sherlock, предназначенной для поиска файлов на локальных дисках и в сети интернет;
- появление многопользовательского режима и разграничение прав доступа.
Рисунок 1 Интерфейс Aqua в Mac OS X Leopard
Пиком работы над образом, усовершенствованием возможностей и обеспечением стабильности работы операционной системы Mac OS того времени стала ее девятая версия, которую сейчас еще можно встретить на некоторых компьютерах Macintosh. Ее называют классикой Mac OS. Macintosh завоевывал популярность, а Mac OS принесла компании огромный коммерческий успех. Но шло время и руководство компании Apple приняло решении о глобальных переменах.
В марте 2000 года свет увидела абсолютно новая десятая версия Mac OS X, которая не поддерживает программное обеспечение, предназначенное для Mac OS 9. Для ее создания полностью переписали начальный программный код, а за основу взяли операционную систему NeXTSTEP, разработчиком которой был один из тех, кто когда-то основал компанию Apple, но по стечению обстоятельств покинул ее. Разработки фирмы NEXT вместе с ее руководителем были куплены компанией Apple, благодаря чему во главе нее снова встает ее основатель Стив Джобс.
Теперь в Mac OS X используется ядро Mach, стандартные сервисы BSD и все основные возможности операционной системы Unix. Это дало возможность в много раз повысить ее функциональность, защищенность и стабильность. Вытесняющая многозадачность, которая используется в Mac OS X, позволяет работать нескольким процессам сразу, но при этом не мешать друг другу, а при сбое в работы одного из них не допускать сбоя всей системы и прерывания работы других процессов.
На данный момент Mac OS X имеет собственный красивый, не перегруженный спецэффектами и приятный для глаз интерфейс Aqua. Она проста в использовании и дружелюбна. В ней используется среда программирования Core Foundation, включающая в себя такие компоненты как Carbon API, Cocoa API и Java API. Графическая среда представлена использованием таких технологий как QuickTime, Quartz Extreme и OpenGL. К тому же Mac OS X позволяет использовать программное обеспечение, написанное на таких языках программирования, как Си, C++, Objective-C, Ruby и Java. Немаловажным достоинством Mac OS X является ее безопасность при работе в интернете, она неплохо защищена от интернет-атак, да и количество вирусов способных ее поразить на сегодняшний день ничтожно мало.
Если учитывать все достоинства Mac OS, то сразу встает вопрос, почему она до сих пор не так широко распространена, как ее основной конкурент всем известная ОС Windows. Ответ на него очень прост, ОС Mac OS устанавливается только на компьютеры Macintosh компании Apple, что является принципиальным решением ее руководства. Это не значит, что Mac OS не совместима с компьютерами других производителей и не может быть на них установлена.Установить систему конечно можно, но на данный момент это считается не законным. Компьютеры Macintosh имеют небольшой модельный ряд и не могут похвастаться разнообразием, к тому же они стоят в несколько раз дороже обычных персональных ЭВМ, поэтому число пользователей Macintosh сравнительно мало относительно общего числа компьютерных пользователей во всем мире.
Mac OS X абсолютно новая версия операционной системы Mac OS, основой которой является свободное программное обеспечение, называемое Darwin. Darwin включает в себя ядро XNU, созданное с использование технологии Mach и стандартных сервисов BSD. Главным преимуществом данной технологии является то, что ее фундамент основан на всем известной системе UNIX, что обеспечивает новой Mac OS повышенную стабильность, многофункциональность, скорость работы, безопасность и надежность.
Все модификации операционной системы Mac OS X названы различными видами животных из семейства кошачьих. Начиная с версии 10.0 до версии 10.6, операционные системы носят имена: Cheetah (в переводе Гепард), Puma, Jaguar, Panther, Tiger, Leopard и самая последняя версия Snow Leopard (в переводе Снежный Леопард). Каждая из версий имеет свои улучшения и доработки, но всем им присущи общие нововведения, которые делают Mac OS X абсолютно не похожей на Mac OS 9, это привело к тому, что приложения, написанные для предыдущих версий Mac OS, не будут работать на Mac OS X. Изначально работа приложений, написанных под Mac OS 9, осуществлялась посредством виртуальной эмуляции, но со временем от этого отказались совсем.
Неоспоримым преимуществом визуализации графической оболочки Mac OS X является новый интерфейс пользователя, который носит название Aqua. Графический интерфейс Aqua создает иллюзию водной среды, с ощущением прозрачности, глубины и движения. Он остается практически неизменным во всех модификациях Mac OS X, но все это время не теряет своей актуальности и свежести решения. Aqua создан не только для красоты, но и для комфорта и удобства пользователей. Одним из нововведений является возможность складывать окна активных приложений в отдельные секции, которые при желании можно скрыть из зоны видимости, не давая им без необходимости заполнять полезное пространство рабочего стола.
В новой версии Mac OS X реализованы такие функции как, защита памяти, благодаря которой исключается зависание всей системы при сбое в работе одного из приложений, а также вытесняющая многозадачность и симметричная многопроцессорность. В Mac OS X реализовано динамическое распределение памяти, что позволяет выделять и освобождать память непосредственно в процессе работы программ. Это исключает появление сообщений «out of memory» и не требует корректировки количества доступной памяти для каждого приложения.
Лишним подтверждением того, что Mac OS разрабатывается в первую очередь для удобства пользователя, является автоматическая интеграция в сеть. Использование этой функции позволяет подключаться к сети интернет любым доступным методом соединения без дополнительных настроек со стороны пользователя. Новая технология энергосбережения позволяет компьютеру выходить из состояния сна практически мгновенно.
В Mac OS X реализована возможность многопользовательского доступа к данным, разграничены права доступа, повышена степень защиты информации пользователей, администрирование системы стало еще более простым, а интерфейс управления шрифтами и шрифтовыми наборами стал более удобным и гибким, к тому же Mac OS X теперь напрямую поддерживает такие форматы шрифтов как: TrueType, Type1 и OpenType. В системе Mac OS X теперь есть встроенная поддержка принтеров фирм Epson, Hewlett-Packard и Cannon.
Двухмерная визуализация и печать документов в Mac OS X организована с помощью технологии Quartz, которая использует уже ставший стандартным графический формат PDF, что обеспечивает расширенную поддержку шрифтов и другие графические возможности системы. Для работы с аудиоданными и видеоданными в Mac OS X используется запатентованная технология QuickTime, которая теперь интегрирована в систему, а 3D графика и игры реализованы с использованием технологии OpenGL.
Рисунок 2 Quick Time
В основной комплект с установочным дистрибутивом Mac OS X входит пакет простых и удобных приложений, которые необходимы для повседневной работы на компьютере.
К стандартным приложениям операционной системы Mac OS X можно отнести такие программы как:
Полезные программы на каждый день
Адресная книга – позволяет создать базу контактных данных друзей, знакомых или клиентов по работе. В нее можно заносить имена, адреса, телефоны, адреса электронной почты и сайтов, а после этого осуществлять глобальный поиск по всей базе. Адресная книга может стать удобным инструментом в работе для деловых людей.
iCal – удобный и многофункциональный календарь, в котором не только можно посмотреть нужную дату, распланировать свой рабочий график, но и создавать напоминания о важных событиях, делать пометки.
Finder – удобный файловый менеджер, позволяет с легкостью работать с файлами на жестком диске. Finder дает возможность копировать, удалять и перемещать файлы, осуществлять поиск информации на диске, а также просматривать изображения в виде трехмерного «потока».
Preview – простенький просмотрщик изображений, позволяет просмотреть не только файлы картинок, но файлы в формате PDF.
Spotlight – встроенный поиск информации на компьютере и в локальной сети. Spotlight дает возможность быстро найти не только необходимый документ или файл по его названию, расширению или времени создания, но и по его содержимому. Строка поиска является частью панели инструментов у окон Finder и других программ.
Spaces – утилита, позволяющая упорядочить и облегчить работу с окнами приложений. Она станет незаменимым инструментом для тех, кто работает с большим количеством программ одновременно. Spaces, позволяет не только создавать несколько виртуальных рабочих столов, но и одновременно отображать на экране их миниатюры, а также с помощью мышки перетаскивать документы с одного стола на другой.
Рисунок 3 Finder
Time Machine – полезная утилита, позволяющая создавать резервные копии операционной системы и другой информации, содержащейся на компьютере. В случае сбоев работу компьютера будет очень просто восстановить с помощью так называемого «снимка» системы, который с помощью Time Machine записывается на внешний винчестер. Программа копирует все изменения в папках, файлах и документах каждый час, а в случае нехватки места на диске, освобождает его посредством удаления самых старых копий.
Automator – утилита, необходимая для тех, кто часто выполняет однотипные действия с файлами. С помощью automator даже человек без знаний программирования, посредством макросов, создаваемых на основе стандартных функций приложений может задать последовательность действий, после чего рутинную ежедневную работу можно будет делать с помощью всего одного нажатия.
Программы для работы с мультимедийными данными
iPhoto – программа, позволяющая создавать личный фотоархив. С помощью iPhoto цифровые фотографии можно импортировать с фотоаппарата в архив, создавать альбомы и события, редактировать, экспортировать в интернет и записывать на диски. iPhoto поможет создать из фотографий календари и открытки, сохранить их в формате PDF или распечатать на принтере, а также делать презентации для просмотра целых галерей фотографий с использованием спецэффектов и музыки.
iTunes – это медиаплеер для работы с музыкальными и видео файлами, с помощью него можно систематизировать медиаданные на вашем компьютере, слушать музыку и смотреть фильмы, конвертировать различные музыкальные форматы и музыку с дисков, работать с iPod и iPhone и плеером Apple TV. В on-line режиме браузер iTunes позволяет покупать музыку в интернет магазине iTunes Store, а также слушать любые радиостанции.
iMovie – программа для создания видеороликов. С помощью iMovie можно импортировать видео данные с цифровых видеокамер, резать видеофайлы, компоновать видеодорожки звуком, добавлять фотографии и различные спецэффекты, после чего экспортировать полученную запись в различные видеоформаты.
Garage Band – программа для тех, кто увлекается записью собственных музыкальных композиций. Garage Band позволяет работать сразу с несколькими звуковыми дорожками, добавлять сэмплы, хранящиеся в банке звуков, или захватывать сигналы с электроинструментов посредством MIDI-переходника, записывать голос или звуки с помощью микрофона. В последних версиях Garage Band к звуку можно добавлять видео.
iDVD – программа для записи дисков, с помощью нее можно записывать слайд-шоу, видео фильмы на DVD диски и создавать собственное меню с использованием различных спецэффектов и музыки.
Программы для работы с Internet
Safari – веб-браузер для работы в сети интернет, стал входить в комплект с ОС начиная с версии Mac OS X 10.3 Panther. Safari позволяет открывать несколько страниц в одном окне и масштабировать размер текстового поля, имеет встроенный поиск и защиту от взлома, вирусов и сетевых атак. Safari поддерживает автозаполнение форм, режим частного просмотра веб-страниц, при котором не ведется история посещений, содержит проверку текста и встроенный RSS-агрегатор.
Mail – почтовый клиент, который поддерживает протоколы POP, IMAP и Exchange. Mail позволяет получать письма, контролировать фильтрацию спама, сортировать список корреспонденции по значимости, заносить важные даты из писем в календарь, удалять одно или несколько писем сразу, пересылать письма или отправлять скрытые копии. В программе mail содержится 30 шаблонов, позволяющих красиво оформить письмо или создать праздничную открытку.
iChat – чат-клиент для мгновенного обмена сообщениями с поддержкой веб-камеры, позволяет не только устраивать видеоконференции и аудиоконференции с одним или несколькими собеседниками, общаться с друзьями в текстовой форме, но и показывать им документы, фото и видео файлы с помощью функции iChat Theater. С разрешения собеседника iChat предоставляет возможность записывать все общение.
iWeb – приложение для создания собственных веб-страниц, сайтов и размещения их в сети интернет. iWeb позволяет быстро создать и отредактировать сайт, даже не обладая знаниями веб-программирования и сайтостроения. С помощью шаблонов iWeb можно легко создать свой сайт или блог, размещать в интернете фотографии, видео ролики и аудиозаписи.
Xcode тесно интегрирован с фреймворком Cocoa. Создается производительная и простая в использовании среда разработки. Его используют и при разработке самой Apple Mac OS X. Этот набор инструментов включает:
Xcode IDE (для кодирования, создания и отладки приложений)
Interface Builder (для разработки пользовательского интерфейса)
Инструменты для анализа поведения и производительности
Десятки дополнительных инструментов
Остановимся на каждом инструменте поподробнее.
Рисунок 4 Xcode IDE
Xcode IDE предоставляет вам все, что нужно: от профессиональных редакторов, с функцией автозавершения кода и Cocoa рефакторинга, до настройки open-source компиляторов. Xcode IDE разработан с нуля, чтобы вы могли воспользоваться всеми возможностями Cocoa и новейшими технологиями Apple.
Разработка с Xcode позволяет сосредоточиться именно на самом процессе разработки, а не на прочих процессах. Просто нажмите на зеленую кнопку Build and Go, чтобы начать процесс создания вашего приложения. Если будут найдены ошибки в вашем исходном коде, отображается сообщение в виде пузырей. :-) После создания вашего проекта, в окне редактора появляется панель отладчика, и при наведении мыши показываются значения переменных. Если вы разработали приложение для iPhone, Xcode автоматически установит его на устройство.
Рисунок 5 Interface Builder
Interface Builder упрощает создание пользовательского интерфейса (UI). С его помощью можно легко, без написания кода, создать слои из окон, различные кнопки, ползунки и другие элементы управления. Затем вы можете превратить этот прототип UI в реальное приложение, добавив новые возможности. Xcode работает с Interface Builder в режиме реального времени, так что вы видите в графическом интерфейсе (Interface Builder) то, что вы пишете в Xcode.
Рисунок 6 Model-View-Controller
Вы можете легко создавать пользовательские интерфейсы, поскольку Cocoa был построен с использованием шаблона Model-View-Controller (MVC). На самом деле, UI фактически являются архивами объектов Cocoa, которые не требуют генерации кода. Изменения в интерфейсе пользователя (UI) не требуют перекомпиляции (перепроверки) кода, а изменения в коде, не требуют перекомпиляции UI.
Рисунок 7 Instruments and Shark
Огромный мир Mac и iPhone приложений предоставляет пользователю большой опыт, на который следует опираться при создании своей программы. Приложение должно содержать в себе элегантный пользовательский интерфейс и оптимальную производительность. Developer Tools включает мощные инструменты оптимизации и анализа (Instruments and Shark), которые помогут вам найти «проблемные места» в вашем Mac и iPhone приложении.
Есть инструменты и для сбора данных об использование дисков, памяти и процессора вашего Mac или вашего iPhone, подключенного к компьютеру. Собранные данные отображаются графически в реальном времени, что позволяет легко определить проблемные зоны приложения, и затем перейти к проблемным строкам кода.
Эти инструменты помогают создать великолепный пользовательский интерфейс, который будет сопровождаться столь же впечатляющей отзывчивостью.
Большая часть Cocoa осуществляется в Objective-C. Objective-C — это компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка С и парадигм Smalltalk.
Запущенное приложение Objective-C может загрузить интерфейс (Interface Builder автоматически создаст nib файл), подключиться к Cocoa объектам интерфейса вашего приложения, а затем выполнить построение UI. Нет необходимости перекомпиляции. Поскольку Objective-C является расширением языка С, можно легко «смешивать» С и даже C + + в приложениях Cocoa.
VMWare Player — это бесплатный инструмент, который дает пользователям возможность запускать виртуальную машину на компьютерах, работающих под Linux или Windows.
Рисунок 8 Окно Vmvare
VMware Player пригодится для бета-тестирования программного обеспечения. В отличие от коммерческой программы VMware Workstation, утилита VMware Player не может создавать виртуальные машины. Однако она может предложить несколько уже готовых приложений, которые можно скачать с сайта разработчика. VMware Player также совместима с машинами, созданными в форматах Virtual PC и Symantec LiveState Recovery.
Основные возможности VMware Player:
— Запуск нескольких операционных систем одновременно на одном компьютере.
— Обмен данными между компьютером и виртуальными машинами.
— Поддерживает 32-х и 64-битные виртуальные машины.
— Использование 2-полостной Virtual SMP.
— Поддержка USB 2.0-совместимых устройств.
— Получение информацию при запуске.
— Получите простой доступ к виртуальным машинам через интуитивно понятный интерфейс домашней страницы.
Забегая вперед, можно сказать, что виртуальная система не предназначена для полноценной работы в Mac OS X, но познакомиться с ОС или, к примеру, разрабатывать приложения для iPhone можно без особых проблем.
Перед тем, как приступить к самой установке нам необходимо:
PC-компьютер с процессором, поддерживающим инструкции SSE3.
Windows (Linux). Работоспособность под Linux не была проверена.
Образ, сделанный с оригинального диска Mac OS X, Snow Leopard или обычный Leopard: это может быть коробочная версия, или его можно скачать из интернета (порядка 8 ГБ).
Платная версия VMWare Workstation (желательно, седьмая) или бесплатный VMware Player.
Образ виртуальной машины (примерно 13 МБ). Найти его можно в интернете поиском или на специальных файло-хранилищах: Mediafire, Megaupload.
Какой-нибудь архиватор для Windows, работающий с архивами bzip2, в который запакован образ виртуальной машины (к примеру, winrar или бесплатный 7-zip).
После того, как у вас будут все необходимые компоненты, можно приступать к самому процессу установки.
Первым делом, нам требуется поставить на компьютер программное обеспечение от VMware и распаковать скачанный архив Snowy_Vmware_files.tbz2, содержащий вот такую структуру:
Каталог Mac OS X Server 10.6 (experimental).vmwarevm — настроенная виртуальная машина.
darwin_snow.iso — загрузочный диск + VMWare Tools.
EnsoniqAudioPCI.mpkg.tar.gz — архив со звуковым драйвером.
Install Notes — файл с описанием на английском языке.
Рисунок 9 Содержание архива
Теперь мы должны запустить VMware Workstation (или Player) и через меню File->Open (или через иконку в главном окне программы) добавить нашу созданную виртуальную машину из каталога Mac OS X Server 10.6 (experimental).vmwarevm.
Рисунок 10 Добавление виртуальной машины
Далее следует перейти на закладку с появившейся виртуалкой и найти среди команд «Virtual Machine Settings» (изменить настройки). В зависимости от конфигурации компьютера, вы можете выбрать объем виртуальной памяти, места для жесткого диска, количество процессоров и ядер, тип локальной сети, звуковую карту и так далее.
Рисунок 11 Вкладка «настройки виртуальной машины»
Рисунок 12 Настройки виртуальной машины
В распакованном архиве у нас был файл darwin_snow.iso. Его нужно использовать в виртуальном CD/DVD-приводе. Обязательно установите галочку на пункте «Connect at power on», чтобы образ автоматически подключался при старте системы. Все, мы полностью готовы к установке системы, можно включать виртуальный компьютер.
При включении система может перейти в одно из трех состояний:
предложение вставить DVD;
ошибка чтения EBIOS read error: Error 0x31 Block 0 Sector;
меню из вариантов загрузки;
Рисунок 13 Ошибка чтения EBIOS read error: Error 0x31 Block 0 Sector
Не стоит обращать на это внимание, потому что сейчас нужно заменить darwin_snow.iso, находящийся в виртуальном дисководе, на образ Snow Leopard. Для этого можно нажать Ctrl+D (или меню VM->Settings) и выбрать в списке CD/DVD, после чего указать путь к образу и обязательного поставить еще одну галочку «Connecter» (она будет снята). Если на экране было меню загрузки, то следует нажать на клавиатуре клавишу с латинской буквой «c», в остальных случаях виртуалка задумается на несколько секунд и перейдет к загрузке установочного диска без чье-то помощи.
Уже через минуту-полторы на экране появится окно выбора языка и можно будет приступить к инсталляции системы. Осталось принять лицензионное соглашение и выбрать опции для установки. К примеру, нам не нужны драйверы для принтера и дополнительные локализации, поэтому можно убрать лишние галочки из списка.
Рисунок 14 Инсталляция системы
Далее нажимаем кнопку Install и откидываемся на спинку кресла на 20 минут, хотя процесс может пройти чуть быстрее.
Перезагружаем виртуальную машину (не обращаем внимание на Kernel Panic) и проходим процесс регистрации системы. На этом пункте можно подробно не останавливаться. По окончанию регистрации (когда на экране появился рабочий стол) замените образ Snow Leopard обратно на darwin_snow.iso, т.к. на нем лежат VMware Tools, их тоже нужно установить, благодаря чему станет возможным, к примеру, поменять разрешение экрана или обмениваться файлами между двумя операционными системами.
Рисунок 15 Инсталляция системы 2
На этом процесс установки завершен.
Создадим простое приложение на Xcode. Сделаем, например конвертер валюты USD->RUB.
Оно будет выглядеть так:
Рисунок 16 Конвертер валюты
Итак, запускаем Xcode. Создадим новый проект, для этого выберем File->New Project… В появившемся окне слева выбираем Application, а справа Cocoa Application и жмем Choose.
Рисунок 17 New Project
Далее появится окно для сохранения нашего приложения. Введем название Exchange и выберем путь для сохранения.
Рисунок 18 Сохранение проекта
Появится окно Xcode. В появившемся окне вы можете увидеть все документы, используемые в проекте. Для более удобной навигации по проекту окно разделено на два раздела: в левой части располагается перечень групп файлов, а в правой список документов соответствующий выбранной группе. Чтобы редактировать файл, выберем слева самую верхнюю строчку (название проекта), а справа сверху нужный файл (например main.m) и ниже появится редактор с содержимым файла. В файле main.m всегда есть функция main(), с нее начинается запуск программы.
Рисунок 19 main.m
Приложение готово, и мы уже можем его запустить.Жмем для этого Build and Go на панеле Xcode.
Рисунок 20 Build and Go
После нескольких секунд компиляции, можно увидеть окно нашего первого приложения под Mac.
Рисунок 21 Окно приложения
Мы еще ничего не делали с нашей программой, поэтом добавимфункционал.
Создадим класс, в котором будем писать код для выполнения функций программы. В меню выбираем File->New File… Слева выбираем Cocoa, справа — Object-C class и нажимаем Next.
Рисунок 22 Object-C class
Далее нам нужно назвать класс, назовем его MainController и нажмем Finish.
Рисунок 23 Сохранение класса
В окне Xcode появились два новых файла MainController.h и MainController.m.
Рисунок 24 Редактируем MainController.h
Создадим GUI нашего приложения. Сделаем двойной щелчок по файлу MainMenu.xib, запустится другая программа — Interface Builder. Появятся окна Interface Builder. Окно с заголовком Main — это окно нашей программы, которое будет видеть пользователь. Справа окно Library — это хранилище всех видов объектов, которые можно использовать в GUI. Выберем категорию Veiw&Cells и перетащим кнопку Push Button в окно нашего приложения. Аналогичным образом перетащим в окно нашего приложения два объекта Label, TextField и Vertical Slider и изменим размер окна, чтобы не было большого пустого пространства.
Если не открыто окно инспектора, откроем его — Tools->Inspector. I. Инспектор отображает параметры выбранного объекта. Например, если вы щелкните на заголовке пустого окна и вызовите Инспектор. В его заголовке должно отображаться NSWindow Inspector, что свидетельствует о том, что настраиваются параметры окна.
Посмотрим на Инспектор более внимательно. В обновленной версии XCode, поставляемой вместе с Леопардом) он приобрел панель инструментов и стал очень похож на своих братьев из пакетов iWork и iLife. Ранее доступ к разделам Инспектора осуществлялся Interface Builder с помощью выпадающего меню. На этот раз мы будем в основном пользоваться тремя разделами: Attributes (Параметры), Control Size (Размеры контроллера) и AppleScript. Щелкните мышью в строке меню на пункте Tools (Инструменты). Обратите внимание: напротив каждого раздела Инспектора указано простое клавиатурное сокращение – Command + порядковый номер раздела на панели инструментов. Поверьте, использование этих “горячих” клавиш может значительно ускорить процесс работы в Interface Builder.
Выделим кнопку Button в окне нашего приложения и ее атрибуты появятся в окне инспектора. Изменим заголовок кнопки Title на Пересчитать.
Рисунок 25 Инспектор
У слайдера изменим параметры Tick Marks на 10 (это деления), Value Maximum напрмер на 100 (максимальное количество курса валюты).
Можно очистить поле заголовка в свойствах обоих объектов Label. Границы в параметрах текстового поля и надписей я сделал последнего типа, с закругленными краями. Также, мы добавили еще три обьекта Label, с пояснениями. В свойствах заголовка окна изменим заголовок Title на Exchage и можно щелкнуть галочку Textured в блоке Appearance.
Рисунок 26 GUI нашего приложения
Создадим объект класса в Interface Builder. В окне Library выберем категорию Objects & Controllers и перетянем синий куб Object к окно MainMenu.xib.
Рисунок 27 Класс Object
И переименуем объект Object в MainController.
Рисунок 28 Main Controller в MainMenu.xib
Выделим объект MainController (куб) и откроем окно Identity — Tools->Identity Inspector. В поле Class выберем созданный ранее в Xcode класс MainController, таким образом свяжем объект MainController в Xcode с классом MainController в MainMenu.xib. Это позволит общаться коду приложения с интерфейсом.
Рисунок 29 Связь с классом MainController
Теперь нужно создать связи между объектами в окне приложения (кнопкой, текстовым полем и надписью) и объектом MainController. Нам нужно создать одно действие (action) — от кнопки пересчета валюты и три выхода (outlet), к надписям (Label) и текстовому полю.
Выберем объект MainController в окне MainMenu.xib и откроем Identity Inspector. В секции Class Actions добавим действие (жмем +), изменим его название на Convert: (не забудьте двоеточие в конце имени). Аналогично, в секции Class Outlets добавим выходы Value, Rate и Amount (двоеточие в имени уже не нужно).
Рисунок 30 Действие и выходы
Теперь мы можем создать связи:
Чтобы создать связи, нужно зажать кнопку Ctrl на клавиатуре и перетащить кнопку в объект. После отпускания кнопки мыши над объектом появится меню, выберем в нем Convert:.
Рисунок 31 Выбираем Convert в связи
Чтобы установить остальные три взаимосвязи, нужно перетягивать курсор от объекта MainController к надписям и текстовому полю, зажав Ctrl. Во 2-й взаимосвязи выбираем Amount, в 3-й — Value и в 4-й — Rate. Еще нужно сделать связь слайдера и надписи, чтобы она получала значение слайдера. Для этого сделаем связь слайдер->надпись1 (Amount) и выбирем в появившемся меню takeIntValueFrom:.
Таким образом, мы создали некоторую часть кода в Xcode через Interface Builder, не написав ни строчки.
Перейдем к написанию кода. Выделим объект MainController в окне MainMenu.xib, выберем File->Write Class Files и сохраним его в папку с нашей программой, заменив старый MainController.h.
Переключимся в Xcode. Открыв файлы класса MainController увидим сгенерированный код из Interface Builder. Выделим MainController.h для редактирования. В нем мы видим три выхода
IBOutlet id Value;
IBOutlet id Amount;
IBOutlet id Rate;
и одно действие
- (IBAction)Convert:(id)sender;
Итак, начнем редактировтаь MainController.m. Напишем следующее:
#import "MainController.h"
@implementation MainController
- (IBAction)Convert:(id)sender {
int fAmount = [Amount intValue];
float fRate = [Rate floatValue];
float fValue = fAmount * fRate;
[Value setFloatValue:fValue];
}
@end
Т.е. мы записали некоторый код, который будет выполняться при нажатии кнопки. Разберем его немного подробнее.
int fAmount = [Amount intValue];
Здесь мы создали целочисленную переменную fAmount и передали ей целочисленное значение надписи1 Amount, которая устанавливается слайдером.
float fRate = [Rate floatValue];
Здесь создали числовую переменную с дробной частью и передали ей значение текстового поля.
float fValue = fAmount * fRate;
В числовую переменную с дробной частью передали значение произведения курса валюты и ее количества.
[Value setFloatValue:fValue];
Отправим сообщение объекту Value со значением fValue. Т.к. переменная fValue не целое число, то используем setFloatValue, а не setIntValue.
Создадим теперь второе приложение в Xcode. Загрузим XCode. Чтобы создать новый проект выберем из строки меню команду File > New Project.... В появившемся окне из раздела Application выберем пункт AppleScript Application. После этого предстоит выбрать месторасположение проекта и указать его имя.
Мы будем продолжать знакомиться со средой разработки XCode воссоздавая игру “Тараканьи бега”. Пользователь должен иметь возможность сделать любую ставку на любого таракана, их будет три. Вот собственно и все исходные условия.
Назовем проект Cockroaches, что в переводе с английского означает тараканы.
В появившемся окне можно увидеть все документы, используемые в проекте.
Дважды щелкнем мышкой на документе имеющем название MainMenu.nib (English). Файлы имеющие расширение *.nib хранят информацию об интерфейсе приложения.
Рисунок 32 - MainMenu.nib
После загрузки среды разработки интерфейса приложения Interface Builder на экране появится три окна. Пустое окно представляет собой строительную площадку интерфейса нашей игры. Окно MainMenu.nib (English) представляет доступ разработчику ко всем разделам nib-файла: окнам, меню команд, изображениям, звуковым файлам и т.д. Последнее – Library.
Далее щелкнем на заголовке пустого окна и вызовем Инспектор. В его заголовке должно отображаться NSWindow Inspector, что свидетельствует о том, что настраиваются параметры окна. Установим галочку напротив фразы Has texture (Имеет текстуру). Таким образом мы изменили внешний вид окна. Вместо слова “Window” в поле Window Title введем новый заголовок “Тараканьи бега”. Снимем галочки напротив следующих пунктов: Resize (Изменение размеров) и Minimize (Минимизация), чтобы закрыть доступ пользователю нашей игры к изменению размеров окна.
Перейдем в раздел AppleScript Инспектора и в поле Name введем Cockroaches. Теперь для обращения к свойствам окна в программном коде мы будем использовать это имя.
Рисунок 33 - Интерфейс игры
Таблица №1
№ объекта | Тип объекта | Название | Значение |
1 | Bevel Button | Name
| ButtonStart
|
Title | Старт | ||
2 | Text Field | Name | Capitals |
Title | 500 | ||
Editable | False | ||
3 | Text Field | Name | Bets |
Title | 5 | ||
4 | Label | Title | Капитал: |
5 | Label | Title | Ставка: |
6 | Radio Group | Name Rows | SelectBugs |
3 | |||
7 | Label | Name | FinishLine |
Title | * Ф И Н И Ш * |
|
|
| |
|
| ||
|
|
|
|
|
| ||
|
|
|
|
|
| ||
|
| ||
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
Теперь переходим к непосредственному созданию интерфейса игры. Добавим в проект следующие объекты: кнопку, два текстовых поля (Text Field), три надписи (Label), два горизонтальных разделителя (Horizontal Line), блок радиокнопок (Radio Group). Расположим и присвоим имена добавленным элементам таким образом, как показано на рисунке.
Можно выбрать любую понравившуюся кнопку. Все они будут функционировать одинаково, так как принадлежат одному и тому же классу NSButton. В данном примере используется кнопка Bevel Button. Стиль отображения кнопки можно изменять с помощью выпадающего меню Style (Стиль) раздела Attributes Инспектора.
Дважды щелкнем на любой из надписей элемента Radio Group. Таким образом мы перейдем в режим редактирования записи блока радиокнопок. Изменим последовательно заголовки записей на 1, 2 и 3 соответственно. Откроем стандартное окно управления шрифтами (Format > Font > Show Fonts или Command + T) и увеличим размер надписей. Затем с помощью кнопок Alignment и Icon Pos все того же раздела Инспектора Attributes, отрегулируем расположение цифр относительно переключателей. Для выхода из режима редактирования просто выберите любой другой элемент.
Чтобы надпись “* Ф И Н И Ш *” отображалась вертикально и на красном фоне, то вам необходимо выполнить следующие действия: дважды щелкнем на тексте элемента и в разделе Инспектора Attributes поставьте галочку напротив надписи Draws Background (Отображать фон) и определим цвет заливки, из выпадающего меню Layout (Разметка) выберем пункт Wraps (Переносить). Теперь вы можно изменить не только горизонтальные, но и вертикальные размеры надписи.
Настало время протестировать созданный интерфейс. Выберем из строки меню команду File > Simulate Interface (Воспроизвести (Симулировать) интерфейс
Подобрав подходящее изображение таракана, перейдем из Interface Builder в XCode и выберем из строки меню команду Project > Add to Project... (Добавить в проект...). В появившемся диалоговом окне укажем где хранится изображение на вашем компьютере. После нажатия на кнопке Add (Добавить) появится очередное окно, в котором также следует щелкнуть на кнопке Add. После этих нехитрых действий в окне XCode должно появится название нашего графического файла.
Перейдем в Interface Builder и в окне Library выберем вкладку Media, которая предоставляет доступ к медиа-файлам. Среди стандартных изображений и звуковых файлов мы сможем найти и только что добавленное изображение таракана.
Перенесем с помощью мыши таракана в окно будущего приложения. Нам будет необходимо добавить еще двоих. Сделать это можно также простым переносом, но есть и более эффективный путь. Щелкнем на изображении таракана удерживая клавишу Option и перенесем копию таракана в другое место. Таким способом можно копировать любые объекты.
Добавленная графика потеряла в качестве и выглядит не слишком хорошо это произошло потому что в интерфейс добавились лишь ссылки на изображения и при работе приложения графика будет отображаться корректно.
Теперь необходимо добавить беговую дорожку, которую в нашем примере так же будет играть простое изображение. Ее можно подготовить ее без труда в любом графическом редакторе.
Определить порядок последовательности расположения объектов можно с помощью строки меню команд. Щелкнем на пункте Layout и выберем нужную команду: Send to Front (Переместить на передний план), Send to Back (Переместить на задний план), Send Forward (Переместить на один уровень вверх) и Send Bacward (Переместить на один уровень вниз).
Рисунок 34 – Инспектор Control Size
Чтобы аккуратно разместить все элементы с помощью четырех текстовых полей Инспектора Control Size X:, Y:, W: и H: можно изменить координаты левого нижнего угла выбранного объекта, его ширину и высоту.
Теперь можно снова протестировать интерфейс. Обратим внимание, что добавленная в проект графика не отображается. Дело в том, что при выборе команды Simulate Interface происходит тестирование только интерфейса без подключения добавленных в проект фалов. Также в таком режиме тестирования не будут работать кнопки и другие управляющие элементы. Грубо говоря кнопки будут доступные для нажатия, но описанные для этого события действия выполняться не будут.
Чтобы протестировать приложения полностью, а не только интерфейс, следует перейти в XCode и выбрать из строки меню команду Run > Run (Запустить).
Интерфейс игры полностью готов, теперь дело за кодом. Но перед тем как мы ей займемся необходимо еще предпринять ряд действий в Interface Builder.
Присвоим нашим тараканам следующие имена: Bug1, Bug2 и Bug3. Осталось указать название окна, в котором происходит игра, чтобы получить доступ к управлению элементами расположенными на нем. Делается это следующим образом. В окне MainMenu.nib щелкнем на иконке Window, после этого укажем в разделе AppleScript Инспектора имя Bugs.
Отправной точкой начала игры является нажатие игроком на кнопке “Старт”. Следовательно, нам необходимо создать обраточик события нажатия пользователем на кнопке.
Рисунок 35 - Инспектор AppleScript
Перейдем в Interface Builder и выделим кнопку “Старт”. На вкладке AppleScript окна Инспектора в выпадающем меню Script (Скрипт) выберем название файла, отвечающего за программный код. По умолчанию он носит название проекта: Cockroaches.applescript. Ниже станут доступными для выбора группы обработчиков событий. Выберите группу Action (Действие) и установите галочку напротив единственного события сlicked (Нажатие). Теперь дважды щелкните на слове clicked чтобы перейти в описание обработчика события. Перейти в программный код можно дважды щелкнув на файле Cockroaches.applescript в главном окне XCode.
Нам потребуются еще три обработчика событий. Аналогично созданию функции clicked описанному выше, созддим обработчики launched, idle и should quit after last window closed для приложения в целом. Для этого, перед тем как активировать указанные обработчики на вкладке AppleScript Инспектора выберите в окне MainMenu.nib пункт Application.
Листинг с подробными комментариями:
-- Объявляем метку старта забега и присваиваем ей значение ложь
property mark : false
-- Определяем максимальную скорость движения таракана. Вы можете выбрать любое другое значение.
property speedRunning : 50
-- Объявление переменных, значение которых описано в программном коде по мере их использования
global stepVal, §, nextCoordBug2, nextCoordBug3, bet, lineMoustacheBug1, lineMoustacheBug2, lineMoustacheBug3, selectBug, capital, startCoord, finishLine, vertCoordBug1, vertCoordBug2, vertCoordBug3
-- Обработчик выполняется при загрузке приложения
on launched theObject
-- Присваиваем переменной стартовой координаты значение координаты Х любого (в данном случае первого) таракана
set startCoord to bounds of image view "Bug1" of window "Bugs"
set startCoord to item 1 of startCoord
-- Присваиваем переменной finishLine значение координаты Х левого нижнего угла финишной линии
set finishLine to bounds of text field "FinishLine" of window "Bugs"
set finishLine to item 1 of finishLine
-- Присваиваем переменной vertCoordBug1 значение координаты Y левого нижнего угла изображения первого таракана
set vertCoordBug1 to bounds of image view "Bug1" of window "Bugs"
set vertCoordBug1 to item 2 of vertCoordBug1
set vertCoordBug2 to bounds of image view "Bug2" of window "Bugs"
set vertCoordBug2 to item 2 of vertCoordBug2
set vertCoordBug3 to bounds of image view "Bug3" of window "Bugs"
set vertCoordBug3 to item 2 of vertCoordBug3
end launched
-- Обработчик события нажатия игроком на кнопке "Старт"
on clicked theObject
-- Открываем блок обращения к окну игры
tell window "Bugs"
-- Присваиваем переменной bet значение ставки игрока, конвертируя его в вещественное число
set the bet to contents of text field "Bets" as real
-- Присваиваем переменной capital значение оставшегося капитала игрока, конвертируя его в вещественное число
set the capital to contents of text field "Capitals" as real
-- Проверяем не превысил ли игрок своей ставкой имеющийся капитал
if capital > bet or capital = bet then
-- Присваиваем переменным координат с приращением стартовые значения
set nextCoordBug1 to startCoord
set nextCoordBug2 to startCoord
set nextCoordBug3 to startCoord
-- Выстраиваем тараканов на старте
set the position of image view "Bug1" to
{startCoord, vertCoordBug1}
set the position of image view "Bug2" to {startCoord, vertCoordBug2}
set the position of image view "Bug3" to {startCoord, vertCoordBug3}
-- Делаем недоступной кнопку "Старт" на время забега и меняем ее надпись на Забег
set the enabled of button "ButtonStart" to false
set the title of button "ButtonStart" to "Забег"
-- Выясняем на какого таракана поставил игрок
set selectBug to current row of matrix "selectBugs"
-- Делаем недоступными для управления блок радиокнопок и поле ввода ставки
set the enabled of matrix "selectBugs" to false
set the editable of text field "Bets" to false
-- Присваиваем метке забега значение истина
set mark to true
else
-- Выводим сообщение о не правильной ставке
display alert "У вас недостаточно средств чтобы сделать такую ставку"
end if
end tell
end clicked
-- Обработчик событий on idle исполняется раз в секунду в случае бездействия приложения
on idle theObject
-- Проверяем условие старта забега
if mark then
-- Вызываем функцию расчета величины следующего шага таракана
step()
-- Осуществляем приращение координаты Х и задаем изображению таракана новые координаты
set nextCoordBug1 to nextCoordBug1 + stepVal
set the position of image view "Bug1" of window "Bugs" to {nextCoordBug1, vertCoordBug1}
step()
set nextCoordBug2 to nextCoordBug2 + stepVal
set the position of image view "Bug2" of window "Bugs" to {nextCoordBug2, vertCoordBug2}
step()
set nextCoordBug3 to nextCoordBug3 + stepVal
set the position of image view "Bug3" of window "Bugs" to {nextCoordBug3, vertCoordBug3}
-- Вызываем функцию определения победителя забега
check()
end if
end idle
-- Функция рассчета "шага" таракана
on step()
-- Переменной stepVal присваивается случайное значение в диапазоне от 1 до максимальной скорости таракана
set stepVal to random number from 1 to speedRunning
end step
-- Функция проверки достижения тараканами финиша
on check()
-- Присваиваем переменной lineMoustacheBug1 значение координаты Х правого верхнего угла изображения таракана
set lineMoustacheBug1 to bounds of image view "Bug1" of window "Bugs"
set lineMoustacheBug1 to item 3 of lineMoustacheBug1
set lineMoustacheBug2 to bounds of image view "Bug2" of window "Bugs"
set lineMoustacheBug2 to item 3 of lineMoustacheBug2
set lineMoustacheBug3 to bounds of image view "Bug3" of window "Bugs"
set lineMoustacheBug3 to item 3 of lineMoustacheBug3
-- Проверяем достиг ли один из тараканов финишной линии. Если да, то вызываем функцию завершения игры, передавая в качестве параметра номер чемпиона
if lineMoustacheBug1 > finishLine or lineMoustacheBug1 = finishLine then
reset(1)
else if lineMoustacheBug2 > finishLine or lineMoustacheBug2 = finishLine then
reset(2)
else if lineMoustacheBug3 > finishLine or lineMoustacheBug3 = finishLine then
reset(3)
end if
end check
-- Функция завершения игры. В качестве параметра передается номер победителя
on reset(winner)
-- Открываем блок обращения к окну игры
tell window "Bugs"
-- Присваиваем метке забега значение ложь, так как забег окончен
set mark to false
-- Выводим сообщение о победителе
display alert "Выиграл " & winner & " таракан!"
-- Проверяем удачно ли выбрал таракана игрок
if winner = selectBug then
-- Увеличиваем капитал на троектратно увеличенную ставку
set the bet to bet * 3
set contents of text field "Capitals" to capital + bet
else
-- Уменьшаем капитал на проигранную ставку
set the capital to capital - bet
set the contents of text field "Capitals" to capital
end if
-- Делаем доступными для управления блок радиокнопок и поле ввода ставки
set the enabled of matrix "selectBugs" to true
set the editable of text field "Bets" to true
-- Делаем доступной для нажатия кнопку Забег и меняем ее надпись на Старт
set the enabled of button "ButtonStart" to true
set the title of button "ButtonStart" to "Старт"
end tell
end reset
-- Функция выхода из программы в случае закрытия окна игры
on should quit after last window closed theObject
quit
end should quit after last window closed
Ну вот игра полностью готова. Недоработанным осталось только меню приложения.
Рисунок 36 - Шаблон меню команд нового проекта
В окне MainMenu.nib дважды щелкнем на иконке MainMenu. Откроется окно в точь-точь имеющее такой же вид, как и строка меню нашей игры. Щелкнем на первом пункте NewApplication. Как видим, XCode уже создал шаблон нашего меню и нам остается его только отредактировать. Пункт Preferences... нам, не нужен, поэтому выделим их мышкой и затем удалим, нажав клавишу Backspace. Необходимость наличия раздела Service также вызывает сомнения. Чтобы удалить его нужно щелкнуть мышкой слева от слова Service, и, убедившись что появилась галочка, также нажать клавишу Backspace.
Выделим пункт About NewApplication (О новом приложении) и перейдите в раздел Attributes окна Инспектора. В поле Title (Заголовок) введите текст, который должен отображаться в меню. Если хотите, чтобы рядом с введенным текстом в меню отображалась какая-нибудь картинка, то добавьте ее в проект и укажите ее название в текстовом поле Image (Изображение). Чтобы задать пункту меню горячие клавиши щелкните мышью на сером прямоугольнике справа от фразы Key Equiv. и нажмите нужно сочетание клавиш. Аналогично можно задать горячие клавиши и для кнопки “Старт”.
Отредактируйте оставшиеся англоязычные пункты в строке меню команд.
Следует откомпилировать проект. Сделать это чрезвычайно просто, если код не содержит ошибок. Просто выберем из строки меню команду Build > Build (Скомпилировать). Найти готовый файл можно в подпапке проекта build > Release.
Рисунок 37 - Игра по окончании разработки
Конечно, наша игра далеко не совершенна и имеет ряд недостатков. Например первый таракан имеет явное преимущество перед двумя другими тараканами – проверка достижения им финиша выполняется первой и в нашем приложении не предусмотрена обработка ситуации когда более одного таракана оказываются на финише. Не предусмотрена обработка ситуации, когда игрок ошибочно вводит в поле ставки вместа числа слово. Также программа не выводит сообщение о полном разорении игрока, что должно повлечь за собой выход из игры.
69
1 Пог Д. Mac OS X Leopard. Основное руководство. – СПб: Символ-Плюс, 2008. – 880 с.
2 Майрес С. Mac OS X 10.5 Leopard. – СПб: БВХ-Петербург, 2008. – 912 с.
3 Лахоцкая О. Mac OS X 10.5. Руководство по приручению леопарда. – Мосвка: МакМен, 2008. – 361 с.
4 Хиллегасс А. Программирование в среде Cocoa для Mac OS X. – Москва: Эком, 2009. – 448 с.
Санкт – Петербургский государственный технологический институт
(Технический университет)
198013, Санкт – Петербург, Московский пр.26
69