ria pc game
translate to English   translate to Chinese
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
22 февраля 2019 22:23
Вход Регистрация Забыли пароль ?

megainformatic - Путешествие в мир 3d
              Путешествие в мир 3d      
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - бесплатная флеш игра freeway fury 2 - разработчик Serius Games

megainformatic - бесплатные флеш игры сторонних разработчиков

megainformatic - Как я осваивал Flash

megainformatic - Список уроков на тему создания flash приложений и игр

megainformatic - Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

megainformatic - игра Веселый Буквоежка

megainformatic - игра Веселый Буквоежка

megainformatic - Использование cron, crontab и планировщика задач

megainformatic - Совместное использование jquery и mootools или других js-фреймворков

megainformatic - Модуль content php performer для megainformatic cms

megainformatic - Пишем компактный слайдер

megainformatic - Что нужно знать для создания сайта ?

megainformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

megainformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

megainformatic - Что нужно знать для создания сайта ? Содержание

megainformatic - Что нужно знать для создания сайта ? css - стили

megainformatic - preg_match или Использование регулярных выражений в php

megainformatic - статьи Тимонина Андрея - Flash. Содержание

megainformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

megainformatic - статья Тимонина Андрея - Flash. Hello world.

megainformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

megainformatic - Тимонин Андрей - Несколько слов о себе

megainformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

megainformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

megainformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

megainformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

megainformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

megainformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

megainformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

megainformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

megainformatic - Что нужно знать для создания сайта ? Стандартные шрифты для сайта

megainformatic - Что нужно знать для создания сайта ? ASC II Коды символов

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

megainformatic - Модуль галерей для любой cms

megainformatic - Портфолио выполненных проектов сайтов и приложений

megainformatic - Мои Музыкальные Миры - страница 2

megainformatic - megainformatic cms rs

megainformatic - модуль Падающий снег

megainformatic - проект Open Shop

megainformatic - Рисуем красивую девушку всего за 6 шагов

megainformatic - Галерея красивых рисованных девушек

megainformatic - НОВОГОДНЕЕ ОБРАЩЕНИЕ СОЗДАТЕЛЯ webinformatic К ЖИТЕЛЯМ ПЛАНЕТЫ интернет

megainformatic - Отзывы оставленные пользователями как впечатление о проделанной работе или что-либо понравившееся на сайте

megainformatic - Уроки css - атрибут position

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - СОДЕРЖАНИЕ

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 1 - Обычный день

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 2 - Начало (begin)

подробнее

Creating game on fle game engine - Simple game / Создание игры на fle game engine - Simple game

1. Спрайты



read paper in english

В данном уроке мы проведем своего рода быстрый старт - это введение в создание игр в среде fle game engine.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







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

Мы будем делать первую нашу игру, используя систему fle game engine.

Игра называется Веселый Шарик.



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



Понятие игровой сцены



Понятие игровой сцены

Любая 2d или 3d игра всегда включает игровую сцену и размещенные на ней игровые объекты.

На рисунке вы можете видеть игровой объект Шарик, размещенный в игровой сцене.

Игровая сцена плоская, 2d.



Спрайты



Спрайты

Вы видите на рисунке спрайты. Они могут быть статичными или анимированными.

Спрайт - это элемент графического динамического изображения.

Графического - потому что это элемент графики. Динамического - потому что изображение может содержать внутри себя несколько кадров.

На экране, в каждый момент времени, виден всегда лишь 1 кадр. Если спрайт состоит всего из 1 кадра - то это статичный спрайт.

Спрайты бывают квадратные и прямоугольные.

Основные характеристики спрайта - это его размеры, размер кадра, количество кадров и скорость их воспроизведения.

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

У нас с Вами будет всего 3 спрайта: прыгающий шарик и песчаный блок с ямой.

прыгающий шарик

прыгающий шарик

песчаный блок

песчаный блок с ямой

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

Ну а с песчаным блоком думаю всё понятно.

Для песчаного блока нужно реализовать одну особенность: шарик должен проваливаться в яму, поэтому, чтобы создать такой эффект нам будут нужны 2 изображения песчаного блока, наложенные друг на друга. Верхний будет имитировать верхнюю часть ямы - поверхность земли, а второй - её фоновую - заднюю часть.

песчаный блок с ямой - передняя часть

песчаный блок с ямой - задняя часть

Задняя часть, как видим, ничем не отличается от исходного изображения песчаного блока.

Это всё нужно для того, чтобы имитировать вот такой эффект -

прыгающий шарик

Посмотреть на спрайт своими глазами можно скачав пример Coords2D Simple game (307 Kb) -

Скачать пример Coords2D Simple game





Установить, запустить Coords2D.exe и выбрать пункт меню File > Reload.

Итак, спрайты подготовлены, теперь используя редактор Scene Editor, нужно подготовить игровую сцену - т. е. расставить игровые объекты по своим местам.

[назад] [далее]

подробнее

Game craft - Прорисовка текстуры робота SCV шаг 5

[все уроки game craft]  [моделируем scv]  [моделируем scv шаг 1 часть 2]  [моделируем scv шаг 2 часть 3]  [Наложение текстуры на модель робота scv - часть 4] 

В данной статье описано как нарисовать текстуру для робота SCV, чтобы он выглядел как показано на рисунке -

Модель робота scv как в Starcraft 2 - как нарисовать текстуру для робота SCV

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

В ходе данного урока у Вас может получиться такая текстура для робота SCV -

Модель робота scv как в Starcraft 2 - текстура для робота SCV

Текстура представленная на рисунке выше имеет размеры 256 х 256 пиксель. Но мы можем создать первоначальное изображение большего размера 512х512 или даже 1024х1024 - для повышения степени прорисовки деталей и элементов. В окончательном варианте текстура снова может быть уменьшена до размера 256х256.

Первым делом создадим изображение размером 256х256 и поместим туда точную копию текстурной развертки всех элементов, которую мы создали в предыдущем уроке, посвященном созданию текстурной развертки.

Наложение вспомогательной текстуры на модель робота SCV - edit uvw - оптимизированный результат текстурной развертки

Для этого можно просто сделать скриншот экрана клавишей [PrtSc], затем вырезать нужную часть изображения, немного уменьшить до положенных размеров и аккуратно разместить по центру созданного изображения без смещений, иначе рисуемые элементы окажутся смещенными и на модели робота SCV.

В 3ds max присутствует возможность отрисовки всех элементов модели в виде автоматически формируемой развертки - пункт меню Rendering > Render To Texture. Эта возможность описана в уроке Создание текстурной развертки для модели автомобиля. Однако для практических целей она явно не подходит, т. к. элементы при этом размещаются на развертке самым неоптимальным образом.

Итак, имея вот такую текстурную развертку -

Текстурная развертка робота SCV

Увеличим её до размеров 512х512 пикселей и займёмся прорисовкой. Суть работы сводится к следующему: создаем новые слои и на них рисуем все необходимые элементы.

Сначала заполним всё пространство однообразной текстурой. Создаем новый слой и заливаем серым цветом.

Текстурная развертка робота SCV - прорисовка в Photoshop

Далее применяем фильтр Шум - Фильтр > Шум > Добавить шум

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение

В открывшемся окне задаем, например, такие параметры - Эффект = 33,03 %, Распределение = Равномерное, Монохромный и нажимаем ОК.

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - шум

Далее применяем фильтр Размытие в движении - Фильтр > Размытие > Размытие в движении

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - размытие в движении

С такими параметрами - Угол = -38 градусов; Смещение = 16 пикселей; и нажимаем ОК.

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - размытие в движении - параметры

Теперь дублируем слой с текстурой -

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - дублируем слой с текстурой

Слегка увеличиваем края -

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - Слегка увеличиваем края

И поворачиваем -

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - поворачиваем

Делаем слой полу-прозрачным -

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - Делаем слой полу-прозрачным

Можно также попробовать применить какие-либо эффекты к слою - Исключение, Перекрытие или другие, меняя при этом полупрозрачность -

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - эффекты к слою - Исключение, Перекрытие или другие, меняя при этом полупрозрачность

В результате получим такое однородное заполнение - получилось что-то похожее на шерсть или шероховатую поверхность

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - результат - получилось что-то похожее на шерсть или шероховатую поверхность

Можно сразу сохранить результат, в формате jpg, уменьшить размеры до 256 х 256 и в 3ds max загрузить данную текстуру для модели.

Текстурная развертка робота SCV - прорисовка в Photoshop - создаем однородное заполнение - результат - получилось что-то похожее на шерсть или шероховатую поверхность - вывод на модели

Следующим нашим действием будет выделение всех элементов и приданием им надлежащего вида применением эффекта к слою. Для этого в Photoshop Вам нужно создать текстуру залитую сплошным черным цветом, задать эту текстуру для модели робота, выделить на модели все грани Face в окне модификатора Unwrap UVW, в окне Edit UVWs задать черную текстуру в качестве основы и отключить показ сетки - View > Show Grid. Сделать скриншот экрана и вставить результат в текстуру, которую Вы рисуете в Photoshop. Вот примерно что у вас получится.

Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели

Далее при помощи инструмента Волшебная палочка в Photoshop выделяем на текстуре все черные пиксели и инвертируем выделение. Выделение > Инверсия. Затем переходим на слои, где у вас размещена созданная в предыдущих шагах сплошная текстура, выделяем их и объединяем в один - Слои > Объединить слои. Копируем выделение и вставляем на новый слой. У Вас получатся выделенные элементы. И применяем к ним эффекты слоя. Правой кнопкой кликаем слой и выбираем пункт Параметры наложения. В его окне задаем такие параметры - Внутренее свечение: Непрозрачность = 49%; Цвет свечения = Белый; Стягивание = 18%; Размер = 18 пикс.; Обводка: Размер = 2 пикс; Положение = Внутри; Цвет = Белый;

Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - при помощи инструмента Волшебная палочка в Photoshop выделяем на текстуре все черные пиксели и инвертируем выделение Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - применяем эффект Внутреннего свечения и обводки Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - применяем эффект Внутреннего свечения и обводки

В результате у Вас получится вот такой результат -

Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - результат

Сохраните его в JPG, в 3ds max обновите текстуру на модели и посмотрите как она будет выглядеть.

Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - результат на модели

Если обводку сделать слегка полупрозрачной, результат может выглядеть и так -

Текстурная развертка робота SCV - прорисовка в Photoshop - применение эффекта ко всем граням модели - результат на модели

Вообщем эксперименты тут только приветствуются.

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

Текстурная развертка робота SCV - прорисовка в Photoshop - создание элементов кабины

Текстурная развертка робота SCV - прорисовка в Photoshop - создание элементов кабины

Как всегда, сразу же сохраняем результат в JPG, переносим на модель в 3ds max и наблюдаем результат -

Текстурная развертка робота SCV - прорисовка в Photoshop - создание элементов кабины - результат в 3ds max

Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску -

Текстурная развертка робота SCV - прорисовка в Photoshop - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - результат в 3ds max

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

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - заливка желтым

В результате получится вот такая текстура -

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - заливка желтым

Для создания черных полос используем инструмент Прямоугольная область, создаем и заливаем черным полосу (на отдельном слое, расположенном выше чем слой с залитыми желтым элементами).

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

Поворачиваем полосу, дублируем нужно количество раз слои, размещаем и обрезаем всё лишнее.

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - Поворачиваем полосу

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - дублируем нужно количество раз слои

Объединяем слои, где расположены черные полоски - выделяем нужные слои и выбираем пункт меню Слои > Объединить слои

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - Объединяем слои, где расположены черные полоски - выделяем нужные слои и выбираем пункт меню Слои > Объединить слои

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

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - Используя уже описанный способ дублируем слой с полосками нужное число раз, поворачиваем там где нужно и размещаем чтобы получить заполнение полосами всех желтых элементов

Теперь остается снова выделить и склеить все слои с черными полосками в один слой, затем вернуться на слой с желтыми элементами, выделить при помощи инструмента Волшебная палочка свободное пустое пространство на слое с желтыми элементами, вернуться на слой с черными полосками и клавишей Delete удалить всё лишнее (что выделено в пустом пространстве), вот что при этом может получиться -

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - Теперь остается снова выделить и склеить все слои с черными полосками в один слой, затем вернуться на слой с желтыми элементами, выделить при помощи инструмента Волшебная палочка свободное пустое пространство на слое с желтыми элементами, вернуться на слой с черными полосками и клавишей Delete удалить всё лишнее (что выделено в пустом пространстве), вот что при этом может получиться -

Тестируем результат на модели робота SCV -

Текстурная развертка робота SCV - Нарисуем элементы, предупреждающие об опасности движущихся предметов - элементы в черную и желтую наклонную полоску - результат в 3ds max

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

Текстурная развертка робота SCV - Заключительный шаг - используя уже описанные выше методики можно выделять и обводить элементы на текстуре. В результате у Вас может получиться нечто похожее

Окончательный результат может выглядеть на модели так -

Текстурная развертка робота SCV - Окончательный результат может выглядеть на модели так

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

В следующем уроке мы займёмся экспортом модели робота SCV в формат X для DirectX - приложений. Далее - Экспорт модели робота SCV в формат X для DirectX - приложений

[все уроки game craft]  [моделируем scv]  [Моделируем робота SCV шаг 1 часть 2]  [Моделируем робота SCV шаг 2 часть 3]  [Прорисовка текстуры робота SCV шаг 5] 

подробнее

Костя Коробкин - Компания Зергов (kk kz) - онлайн комикс - страница 4

Онлайн-комикс Костя Коробкин - Компания Зергов - интерактивный комикс (kk kz).

...

Костя Коробкин - Компания Зергов (kk kz) - онлайн комикс - страница 4

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1] [страница 2] [страница 3] [страница 4] 

подробнее

     
 
Урок 9 Тестирование и отладка приложения
 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 
[назад] [страница 1] [далее] [к содержанию]
 

Мы добрались до логического завершения уроков по созданию 2D-игры. В первых уроках Вам давались довольно детальные пояснения, в последующих упор был сделан на конкретных практических вопросах, а со всеми деталями Вы могли ознакомиться в исходном коде.

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

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

 

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

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

 

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

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

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

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

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

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

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

Создание Вашего игрового проекта может выглядеть так:

1) Написание шаблона стартового приложения;

2) Добавление в шаблон вывода титульной заставки;

3) Реализация экрана главного меню (пока без реализации возможностей отдельных его пунктов);

4) Последовательная реализация пунктов меню, начиная с простых;

5) Реализация загрузки ресурсов и начального экрана игры;

6) Постепенная реализация игровой логики и всех остальных возможностей;

 

Начав с простого и постепенно дополняя и расширяя возможности в конце концов достигнете своей цели создав законченный проект.

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

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

Для более детального тестирования и отладки потребуется запуск приложения из среды Delphi в режиме отладки. Этот режим может сказаться на реальной производительности значительно снизив ее, но он позволяет отслеживать работу отдельных участков кода путем пошагового исполнения и инспектирования значений переменных.

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

 

Попробуем выполнить наше приложение в режиме отладки. Откройте любой проект и нужный его модуль.

Путем щелчка левой кнопки мыши в левом поле напротив окна текста исходного кода установите в строке кода, которая является исполнимой, контрольную точку останова (Break Point)

 
 
запустите приложение в режиме отладки щелкнув по кнопке Run -
 
 
или выбрав пункт меню Run > Run
 

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

Весь код до точки останова будет выполнен сразу же, а в точке останова исполнение сделает паузу и отладчик будет ожидать Ваших дальнейших действий. Вы можете нажимать клавиши [F8], [F7] - пункты меню Run > Step Over и Run > Trace Into для пошагового исполнения каждой строки кода начиная с точки останова.

При этом в отдельных окнах Watch List и Local Variables, а также путем наведения указателя мыши на любую нужную переменную Вы можете увидеть значение, которое она принимает в данный момент.

 
 

Окно Call Stack позволяет увидеть последовательность вызовов различных функций в Вашей программе начиная снизу и вверх, в окне Event Log вы можете увидеть события которые происходят во время исполнения и отладочные сообщения, если таковые имеют место. Экстренно завершить выполнение приложения можно нажав комбинацию клавиш [Ctrl] + [F2].

Это вызовет закрытие приложения и переведет среду Delphi в обычный режим работы над исходным кодом.

 

В режиме отладки клавиша [F8] позволяет перейти к исполнению следующей строки кода, [F7] позволяет войти в код функции и проследить, что происходит внутри неё (если исполнимая строка кода является вызовом функции, процедуры или метода).

Контрольные точки останова нужно ставить только в тех строках кода, которые являются исполнимыми (напротив них при компиляции появляется синяя жирная точка), иначе это не приведет к останову в данной строке при запуске в режиме отладки. Комментарии не являются исполнимыми строками кода, т.к. не дают исполнимого кода при компиляции. Если Вы работаете в среде Delphi 7, то заметите, что операторы логических скобок begin и end также не являются исполнимыми и их нельзя использовать в качестве контрольных точек останова. В среде Delphi 2006 это делать можно.

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

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

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

Например, таким способом отображается FPS. В окончательном отлаженном проекте этот код позднее комментируется или удаляется, так что экран в конечном счете не будет засорен для пользователя посторонней информацией.

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

 
С таким кодом Вы наверняка уже сталкивались в наших предыдущих уроках, и он для Вас уже не нов, поэтому я не вижу большого смысла его здесь приводить.
 
В заключение скажу лишь, что режим отладки не является чем-то особо сложным и недоступным пониманию, если Вы пока еще не совсем с ним хорошо знакомы. Вам достаточно лишь раз посмотреть как происходит работа в этом режиме и думаю, все вопросы разрешатся постепенно по мере Вашей работы.
 
Кроме того, в ходе практической реализации самостоятельного игрового проекта у Вас будут возникать новые вопросы и если Вы будете разрешать их самостоятельно, используя документацию по Delphi, DirectX и некоторые сведения почерпнутые из данных уроков, то у Вас всё получится.
 
Желаю Вам всяческих успехов.
 

свои вопросы Вы можете задавать

на creator@megainformatic.ru или оставьте сообщение на форуме (регистрация на форуме по вашей заявке)

 
 
[назад] [страница 1] [далее] [к содержанию]
 
     
     
     
     


обзор #109_3 ria pc game


просмотров: 493




обзор #109 ria pc game


просмотров: 502


megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 1,1473