Создание Flash игр -практические уроки


Акции от гранд казино, бонусы "дом киев"

Графика для Windows библиотека программиста средствами DirectDraw

Программисты (особенно начинающие) любят задавать вопросы типа: «Скажи, на чем ты пишешь…?» Когда-то этот вопрос выглядел вполне логично. Компиляторы, отладчики, серверы, системы управления базами данных и все остальное только-только выходило из каменного века. Программные инструменты разительно отличались друг от друга по качеству и возможностям. Стоило сделать ставку на неудачный инструментарий, и работа становилась излишне тяжкой, а качество результата — низким.
Сегодня стал актуальным другой вопрос: «А чего стоишь ты сам?» Благодаря непрерывной конкуренции современные средства разработчика стали невероятно мощными и качественными, так что среднему программисту вряд ли удастся выжать из них все возможное. Скорее всего, вы спасуете намного раньше, чем ваш инструментарий — если только не узнаете о нем абсолютно все и не доведете свое мастерство программиста до подлинного совершенства.
Книги этой серии предназначены для углубленного изучения программных инструментов. В них рассматриваются нетривиальные возможности, которые невозможно описать в простейшем учебнике. Полноценные проекты заставляют читателя мыслить на уровне эксперта — напрягать серое вещество, лежащее в основе всего, что мы называем «мастерством».
Конечно, это не единственный путь — например, можно добросовестно набивать шишки обо все острые углы новых технологий и наобум пробовать все подряд, пока что-нибудь не заработает. А можно воспользоваться опытом наших авторов, которые уже прошли стадию обучения и попутно сделали кое-какие заметки на память. Мы тщательно отобрали темы, авторов и методику изложения, чтобы читатель не путался в ненужных вступлениях или редких технологиях, которые ему все равно не понадобятся.
Наша главная цель — поднять ваше мастерство настолько, насколько вы сами захотите. Классные инструменты у вас уже есть, осталось лишь стать классным программистом.

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

Термины и концепции
Видеорежимы
Аппаратное ускорение
Поверхности
Блиттинг
Палитры
Отсечение
Другие типы поверхностей
Спецификация COM фирмы Microsoft
Объекты и интерфейсы

DirectInput
DirectInput представляет собой DirectX API для работы с устройствами ввода — клавиатурой, мышью, джойстиками, рулями, авиационными рукоятками, шлемами виртуальной реальности и даже устройствами с обратной связью. В полном соответствии с идеологией DirectX библиотека DirectInput проектировалась в первую очередь для реализации высокого быстродействия и аппаратной независимости. Основная задача DirectInput - как можно быстрее обнаружить пользовательский ввод и доставить его приложению. Исключение составляют устройства с обратной связью; для них в DirectInput предусмотрены функции как ввода, так и вывода.

Поддерживаемые устройства
Быстродействие
Схемы получения данных
Опросы и оповещения
Уровни кооперации
Данные об осевых смещениях
Захват устройств
DirectInput API
Интерфейс DirectInput
Интерфейс DirectInputDevice

Програмируем 3D графику используя DirectX

Если вы умеете программировать на С, но еще не перешли на C++ — вот вам отличный повод сделать это! Мой собственный опыт работы с C++ не так уж велик, и примеры будут понятны любому программисту на С, которому в течение нескольких недель пришлось иметь дело с C++. Если же вы не программируете на С, то советую вам вообще пропустить знакомство с ним и сразу начать с C++.
Я разрабатывал свои приложения и классы C++ с чисто практической точки зрения. Другими словами, я попытался создать средства для решения конкретных задач, а не ряд бесконечных примеров для демонстрации тех или иных возможностей. Вы не найдете в моих примерах классов типа CDog, CLabrador или CAardvark. Это вовсе не означает, что мы пропустим большинство возможностей механизма визуализации — мы используем их в той степени, в какой они нужны нам для создания приложений.

Наше первое трехмерное
Свет и тень

Дополнительные техники анимации

Во многих случаях искусство требует трансцендентных способов выражения. Оно имеет внутреннюю гармонию. Для лучшего понимания задач, возникающих в процессе создания компьютерной графики, нужно осознать, с чем вы работаете и к чему вы стремитесь.
Приступив к изучению Maya, вы начинаете знакомство с новым языком, с новым средством общения. Помните, что техника, которую вы получаете в руки, является лишь средством конечного выражения вашей фантазии. Поэтому насладитесь процессом работы.
Цифровые студии нанимают в первую очередь профессиональных художников, то есть людей, имеющих опыт в традиционных искусствах, например рисовании, живописи, фотографии или скульптуре. Соответственно, изучение компьютерной графики следует начать с обзора ключевых принципов искусства. Именно этому и посвящена данная глава. Всегда следует помнить, что компьютер, с которым вы работаете, — не более чем инструмент.
В последние десятилетия интерес к компьютерной графике значительно возрос. В немалой степени это является следствием появления на рынке мощных компьютеров по относительно низким ценам. Начиная с конца 90-х годов оборудование для создания анимации стало доступным для индивидуальных пользователей.

Новые возможности в Maya 6
Скелеты и кинематика
Базовые концепции освещения
Настройки визуализации
Динамические взаимодействия

Создание Flash игр -практические уроки

В главе 1 "Инструменты Flash, используемые для создания игр" мы еше раз рассмотрим основы Flash, обращая особое внимание на то, как различные инструменты этой программы используются для создания интерактивных приложений. Глава 2 "Введение в ActionScript" пригодится имеющим большой опыт работы с Flash, но мало занимающимся программированием. Она также будет интересна тем, кто знает другие языки программирования, однако никогда не имел дела с ActionScript. Глава 3 "Элементы ActionScript для создания игр" рассматривает различные элементы и приемы ActionScript и демонстрирует, как с их помощью создавать игры и анимации. Данная глава содержит основные сведения, необходимые для дальнейшей работы с книгой. Из главы 4 "Процесс создания игры" вы узнаете о планировании и программировании игр.
Оставшаяся часть книги, кроме последней главы, содержит примеры программ, в том числе их исходные тексты. Глава 5 "Создание визуальных эффектов", глава 6 "Игрушки и безделушки", глава 7 "Игрушки-конструкторы" описывают игрушки, которые предназначены для развлечения, но не обязательно являются игрой как таковой. В главах 8 "Игры типа «Найди и нажми»", 9 "Игры типа «Поймай или пропусти»", 10 "Игры типа «Прицелься и выстрели»", 11 "Игры с мячом и битой", 12 "Викторины и загадки со словами", 13 "Мозаика", 14 "Головоломки", 15 "Казино и карточные игры" и 16 "Аркады" описываются собственно игры.
Каждый раздел глав 5-16 начинается с описания того, как была создана данная игра. Затем вы знакомитесь с моим подходом к ее построению. Далее дается обзор элементов, составляющих игру. В конце приводится текст программы игры с подробным разбором каждой ее части. Каждая глава заканчивается советами по усовершенствованию игры.
В последней, 17-й, главе "Сложные приемы" вы изучите некоторые специальные приемы, такие как создание списка игроков, набравших наибольшее количество очков, и окна предварительной загрузки. И наконец, не пропустите содержательный список Web-ресурсов в главе "Ресурсы Internet для пользователей Flash". Хотелось бы обратить ваше внимание на' то, что в книге содержится множество программ на ActionScript! В ней их больше, чем в любой другой книге, посвященной Flash. Здесь около 37 игр с исходными кодами.

Введение
Хотя программа Flash в качестве среды программирования только-только «достигла совершеннолетия», она уже давно известна как отличное средство для создания развлечений. Flash используется для самых разных целей, начиная с разработки дизайна Web-сайта и заканчивая созданием больших анимаций. ActionScript - это еше один аспект Flash, также связанный с развлечениями. Основная задача данной книги - обучить созданию игр при помощи Flash.

Об этом разделе
Для кого предназначена этот раздел
Что вы должны знать
Чему научит вас этот раздел
Изучение ActionScript
Создание игр во Flash
Использование готовых игр
Webсайт

Интерфейс Flash
Прежде чем создавать сложные программы на ActionScript, вам необходимо хорошо изучить интерфейс Flash, который включает множество окон, панелей и меню.

Главное окно Flash
Главное окно основной элемент интерфейса Flash
Панели
Это окно содержит три панели
Панель Transform позволяет изменять
Панель Properties - присвоение имени клипа
Палитра Library показывает из
Пункты меню
В диалоговом окне Symbol Properties
Меню File

Что такое код ActionScript и где его размещать
ActionScript - это язык программирования, используемый программой Flash MX. По сравнению с главной временной шкалой, позволяющей создавать лишь линейную анимацию, ActionScript расширяет возможности программирования. При помощи ActionScript ваш ролик будет реагировать, например, на выбор, делаемый пользователем, или на другие события. ActionScript позволяет управлять элементами, которые видит пользователь, и вместо простой анимации показывать нелинейные презентации, интерактивные приложения или игры.

Сценарии кадра
Сценарии для кнопок
Сценарии клипов
Использование окна Actions
Ваша первая программа на ActionScript
Контроль воспроизведения ролика
Ролик содержит четыре ключевых
Создание кнопок для пользователя
Данный ролик состоит из последовательности
Данный ролик состоит из двух слоев

Контроль воспроизведений клипа
Клипы представляют собой как бы небольшие ролики внутри основного Flash-ролика. Они включают полноценную временную шкалу со слоями, а также большинство элементов основного ролика. И основной Flash-ролик, и клипы можно контролировать при помощи команд play() и stop(). В библиотеке файла под названием Mcplayback.fla, находится клип "myMovieClip". Этот клип состоит из 10 кадров, промаркированных для того, чтобы вы знали, какой кадр клипа воспроизводится в данный момент.

В панели Properties можно присвоить
Кнопки - контроль воспроизведение клипа
Управление свойствами клипа
При помоши кнопок расположенных
Применение метода "Перетащи и положи" к клипам
Клипы и уровни
Клип "secondMC" включен в клип
Копирование клипов
Диалоговое окно Symbol Linkage
Управление несколькими клипами

Flash и игры
Изначально программа Flash предназначалась не для создания игр, а для подготовки анимаций и интерфейсов Web-сайтов. Возможность создания настоящих игр во Flash появилась только с введением ActionScript.

Недостатки
Достоинства
Элементы игры
Окно загрузки
Титульное окно
Правила
Фон
Окно завершения игры
Программирование
Анализ задачи

Увеличение кнопок
Многие сайты используют Flash для навигации от страницы к странице. Даже простой Flash-ролик с одной кнопкой может значительно оживить статическую Web-страницу. При помощи ActionScript вы сможете сделал эти кнопки анимированными.

Задача проекта
Курсор мыши над кнопкой
Подход
Подготовка ролика
Создание кода
На диаграмме показано расположение
Другие возможности
Вращающаяся и изменяющая цвета
Объект Color
Панель Advanced Effect предназначена

Волшебный хрустальный шар
Наверное, самой распространенной интерактивной программой, которую можно встретить в Internet, является программа-предсказатель, работаюшая на основе случайных чисел. Обычно она называется "Маеgic Eight Balls" (Восемь волшебных шаров), по имени популярной игрушки Tyco.

Лиса ответит на ваш вопрос после
Задача проекта После щелчка по
Подготовка ролика
Главная временная шкала содержит
В первом кадре ролика видно изображение
В панели Properties можно установить
Создание кода
В панели Properties задается динамическое
В конце анимации на несколько
К сведению В конце анимации вы

Составь лису методом "Перетащи и положи"
Многие компьютерные игры созданы по подобию игрушек докомпьютерной эры. Одна из таких старых игрушек - "Mister Potato Head" (Господин картофельная голова). Она представляла собой набор пластиковых частей тела которые ребенок мог прикрепить к картошке и сделать смешного человечка. Позже вместо картошки стали использовать пластиковое туловище.

Задача проекта
Подход
Подготовка ролика
Изображенные слева части тела
Создание кода
В панели Properties вы можете
Ролик MakeAFox дает пользователю
Создай лису методом "Нажми и измени"
Задача проекта
Подход

Найди лису
В игре "Найди лису" игроку показывают изображение, в котором он должен определить местоположение определенных объектов. В данном случае в ролике Findafox.fla местом действия является лес, а объектами, которые ищет игрок, - лисы. На первый взгляд игра представляется простой, однако основная ее идея в том, чтобы хорошо замаскировать объекты.

Сцена включает семь спрятанных
Задача проекта Когда игрок находит
Подход
Подготовка ролика
Два клипа используются чтобы прятать
Создание кода
К сведению
Другие возможности
Поймай лису
Игровая область игры "Поймай лису"

Поймай яблоко
В первой игре "Поймай яблоко" лиса будет двигаться в нижней части экрана и пытаться поймать яблоки, падающие с дерева. Показан фрагмент игры. Полный ролик находится в файле Applecatch.fla.

Элементами игры "Поймай яблоко"
Задача проекта Лисой можно управлять
Подход
Центр координат клипа с лисой
Подготовка ролика Фон ролика представляет
Создание кода
Если центр яблока попадает в прямоугольную
К сведению
Другие возможности
Поймай хорошее яблоко

Стрельба по воздушным шарам
Первая игра состоит из трех основных элементов: лисы, воздушных шаров и снарядов. В нашем примере лиса стреляет всего лишь горошинами из соломинки. Поэтому игра подойдет для любой аудитории.

Лиса стреляет по пролетающим воздушным
Задача проекта Задача этого проекта
Подготовка ролика
Лиса идет влево и всегда готова выстрелить
При попадании в шар запускается
Создание кода
К сведению
Другие возможности
Стрельба с прицелом
Игра "Прицелься и выстрели" напоминает

Стена и мяч
Первая игра называется "Стена и мяч". В ней имеются бита, управляемая пользователем, и три стены, от которых может отскакивать мяч. Четвертой стены нет (она открыта). Задача игрока состоит в том, чтобы не позволить мячу пролететь мимо биты

Элементами игры "Стена и мяч"
Задача проекта Цель данного проекта
Диаграмма показывает как изменяется
Подготовка ролика
Создание кода
К сведению
Другие возможности
Мяч и бита
Задача проекта
Подход

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

В основном кадре игры показан
Задача проекта Цель проекта –
Кадр "start game" виден пока пользователь
К сведению
Другие возможности
Викторина с учетом времени
В этой игре при начислении очков
Задача проекта Цель проекта состоит
Подход
Подготовка ролика

Пазл
Игра "Пазл" состоит из элементов одного размера, которые, соединяясь, образуют целостное изображение. Обычно они сделаны из картона и для составления картинки требуется большая площадь, например, обеденный стол. Так как экран монитора слишком мал по сравнению со столом, создать компьютерный аналог такой игры очень сложно. Однако в упрошенном варианте подобная игра вполне применима для Web-сайта в качестве развлекательного материала.

Пазл почти собран Задача проекта
Задача проекта Цель проекта создать
Центр этого элемента определяется
Подготовка ролика Так как же я
Создание кода
Другие возможности
Пятнашки
В "Пятнашках" используется 15
Задача проекта Цель проекта создать
Подход