Главная » Статьи для тега "класса"

ПРОСТЫЕ КАМЕРЫ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 3 July, 2013 категория: Программирование игр под Android

 

Мы говорили о двух способах создания камеры. Первый из них, Эйлерова камера, был похож на тот, который используется в шутерах от первого лица. Второй, камера с видом от третьего лица, применяется для работы кинематической камеры или для следования за объектом. Создадим два вспомогательных класса, которые в дальнейшем можно будет задействовать в наших играх.

Читать »

ПЛАН РАЗРАБОТКИ DROID INVADERS

Добавлено Дата: 3 July, 2013 категория: Программирование игр под Android

 

После того как мы определили игровую механику, дизайн и ресурсы, мы можем начать программировать. Как обычно, создаем новый проект, копируем в него весь код нашего фреймворка, убеждаемся, что у нас есть подходящий манифест, значки и т. д. Весь код игры Droid Invaders будет помещен в пакет com. badl ogi с. androi dgames. droi di nvaders. Ресурсы будут храниться в директории assets проекта для ОС Android. Мы используем точно такую же структуру, которую применяли для игры Большой прыгун: стандартная активность будет наследовать от класса GLGame, несколько экземпляров класса GLScreen будут представлять собой различные экраны и переходы, как показано на рис. 12.4, классы для загрузки ресурсов и хранения настроек, а также классы для наших игровых объектов и класс, отрисовывающий наш игровой мир в 3D. Начнем с класса Assets.

Читать »

ОСНОВЫ ANDROID API

Добавлено Дата: 3 July, 2013 категория: Программирование игр под Android

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

Создание тестового проекта

Читать »

Исправляем родительское окно STL

Добавлено Дата: 30 June, 2013 категория: C++, C++ Builder

Оказывается, основные исправления, относящиеся к родительскому окну, приходятся на заголовочный файл (MainForm.h). Сначала давайте  добавим  код,  описывающий  класс  для хранения точек. Просмотрите код, а затем мы обсудим, что в нем происходит:

const int MoveMode = 1;

Читать »

МЕТОДЫ ЖИЗНЕННОГО ЦИКЛА КЛАССА ACTIVITY

Добавлено Дата: 30 June, 2013 категория: Разработка для Android

 

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

Метод onCreate вызывается после создания экземпляра Activity. Именно здесь происходит большая часть инициализации основной массы приложений: считывание макетов в память и создание экземпляров View, связывание с данными и т. д. Обратите внимание: если данный экземпляр Actіvity не был разрушен, а процесс не был завершен, то этот метод больше не вызывается. Он вызывается только при создании нового экземпляра класса Actіvity. Аргументом для данного метода является объект Bundle, содержащий сохраненное состояние приложения. Если сохраненного состояния нет, то этот аргумент имеет значение null.

Читать »

Работа с потоками в форме CBuilder

Добавлено Дата: 30 June, 2013 категория: C++, C++ Builder

Чтобы работать с потоком, надо его создать. Это поручается форме, содержащей поток, и осуществляется простым вызовом оператора new для создания нового объекта «поток». В нашем примере мы создадим поток при создании формы. Создайте обработчик события формы OnCreate и поместите в метод FormCreate следующий код:

Читать »

Таблица свойств – приложение просмотра классов в CBuilder

Добавлено Дата: 27 June, 2013 категория: C++, C++ Builder

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

Читать »

Вторая стадия: добавление в базу данных – приложение просмотра классов в CBuilder

Добавлено Дата: 25 June, 2013 категория: C++, C++ Builder

Теперь, когда мы умеем загружать информацию о классах, расположенных в каком-либо заголовочном файле, было бы здорово, если бы мы могли как-то хранить ее, чтобы пользователю не приходилось каждый раз загружать все заново для работы с ней, что очень замедляет работу пользователя, то есть делает наше приложение неэффективным. Нам надо постоянно хранить информацию (списки классов, свойств и методов), чтобы ее можно было использовать в других проектах. Другими словами, нам нужна база данных.

Читать »

Программа поиска в потоке CBuilder

Добавлено Дата: 23 June, 2013 категория: C++, C++ Builder

В нашем втором примере работы с потоками мы собираемся написать программу поиска, использующую потоки. Она позволит искать заданную строку в заданном каталоге. Также мы предоставим возможность выбрать маску файлов (например, все исходные файлы *.cpp), по которым будет происходить поиск. Когда будет нажата кнопка Начать  поиск,  форма  запустит поток, который станет искать файлы в заданном каталоге, которые содержат нужную строку, и выводить имена файлов в окно списка, находящееся в главной форме.

Читать »

Компонент AngleText (повернутый текст) в CBuilder

Добавлено Дата: 19 June, 2013 категория: C++, C++ Builder

Для первого раза мы создадим компонент для отображения текста. На этот раз мы сможем отображать текст тем шрифтом, который выберет пользователь (как будет видно дальше, с некоторыми ограничениями), и повернутым на тот угол,  который  пользователю заблагорассудится. Наш компонент может использоваться для подписей на графиках, в Web- страницах, и на любых других формах, где есть потребность в отображении текста  не горизонтально.

Читать »

Расширения языка C++ в CBuilder

Добавлено Дата: 15 June, 2013 категория: C++, C++ Builder

Программисты, работающие на традиционном C++ резко критикуют CBuilder из-за  того,  что фирма Borland воплотила его компилятор, применив несовместимые расширения языка. Однако если рассмотреть все аспекты, то окажется, что это весьма неубедительный аргумент. В конце концов, если вы хотите писать код на стандартном C++, вам ничто не мешает – CBuilder легко его обработает. Не хотите работать с расширениями, не надо – воля ваша. CBuilder без проблем работает с языком C++ стандарта ANSI, и на нем вы можете создавать полноценные приложения под Windows, не используя VCL. При желании вы можете сделать все, что я только что перечислил. Только зачем?

Читать »

Классы коллекций Objective-C

Добавлено Дата: 6 June, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

В книге уже использовались два класса коллекций: NSArray и его субкласс NSМutаblеАrrау. Как вы уже знаете, массив содержит набор указателей на другие объекты. Указатели хранятся в определенном порядке, и для обращения к объектам коллекции можно использовать индекс (целочисленный номер). В этой главе мы ближе познакомимся с массивами, а также рассмотрим другие классы коллекций:

Читать »

Простой пример потока в CBuilder

Добавлено Дата: 23 May, 2013 категория: C++, C++ Builder

В нашем первом примере мы начнем с внутренних особенностей работы с потоками. Мы создадим простую форму, которая использует поток для обновления текста на экране. Форма позволит вам приостанавливать (pause), вновь запускать (resume) и останавливать (stop) выполнение потока. В то же время поток будет отображать числа на экране. Мы исследуем процесс создания потока и добавления объекта «поток» в вашу программу.

Читать »

init с аргументами Objective-C

Добавлено Дата: 18 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Иногда нормальная инициализация объекта требует передачи дополнительной информации от метода, который его вызывает. Представьте, что экземпляр Appliance не может нормально функционировать без названия (nil не в счет). В таком случае необходимо как-то передать инициализатору название, закрепляемое за устройством.

Читать »

Простейший метод init

Добавлено Дата: 12 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

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

Допустим, в каждом экземпляре Appliance переменная voltage должна инициализироваться значением 120. В файле Appliance.m добавьте свою реализацию init, переопределяя тем самым метод init класса NSObject.

Читать »