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 21:28
Вход Регистрация Забыли пароль ?

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro
              Система Управления
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Быстрый подсчёт ключевых слов в статье

megainformatic - Модуль подсчёта ключевых слов в статье

megainformatic - Онлайн-сервис для подсчёта статистики ключевых слов

megainformatic - Пишем слайдер на javascript с нуля

megainformatic - Логика работы слайдера на javascript

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

megainformatic - Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

megainformatic - Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

megainformatic - Пишем свою cms - шаг 1

megainformatic - Пишем свою cms - шаг 2

megainformatic - Пишем свою cms - шаг 3

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 - Портфолио выполненных проектов сайтов и приложений

подробнее

Проект портала

Идеи Комфорта

Примерное ТЗ

задача по ТЗ заметки
     
1. Механизмы регистрации на сайте:

- Свободная по однократной ссылке

- По реферальной ссылке

- Другой вариант

Необходимо выбрать приемлемый или приемлемые вариант(ы)

1. Личный кабинет:

Примерный набор ролей -

- ВЛАДЕЛЕЦ, ОН ЖЕ СУПЕРАДМИН

- МОДЕРАТОР

- ЗАРЕГИСТРИРОВАННЫЙ

- ГОСТЬ

- Какие роли необходимы ?



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

Баннеры добавляются через админ-панель СУПЕРАДМИНОМ, отображаются в случайном или заданном порядке.
4. Статус - строка. Что должна отображать ?
5. КОНТЕНТ
6. кнопка «Фото-сборники». куда должна вести ? на личные сборники данного пользователя или другого(других) пользователей. Что собой должен представлять фотосборник ? Обычную фотогалерею как в соц. сетях, либо что-то еще дополнительно ?
7. блок ПОСТОВ. пользователь может добавить в пост ссылку на свой фотоальбом или статью.
8. кнопка РАССКАЗАТЬ ДРУЗЬЯМ. Содержит ссылку на страницу, с которой можно отправить сообщение со ссылкой на указанную страницу.
9. Мне нравиться. Представляет собой средство выражения рейтинга поста.
11. краткое описание поста (если это статья)
12. Читать далее. Содержит ссылку на страницу данного поста.
13. На каждый пост заводится страница как ВК (хотя непонятно нужно ли это) или комментарии сохраняются при каждой фотографии в альбоме. Полагаю, что это нужно, т. к. иначе возникают нерешаемые вопросы: где размещать контент поста, как его хранить и выводить.
14. ПРАВЫЙ СТОЛБЕЦ - рекламный баннер. Добавляется через админ-панель суперадмином, выводится в случайном порядке или по заданным правилам.
15. «Участники клуба». Блок для отображения ТОП лучших по определенным критериям пользователей. Например по количеству оставленных данными пользователями постов.
16. Личное меню. Представляет набор функций, которые может выполнять зарегистрированный пользователь, вошедший на сайт под своим аккаунтом (учётной записью).
17. моя страница - содержит ссылку на заглавную страницу данного пользователя.
18. мои друзья - содержит ссылки на страницы пользователей, являющихся друзьями данного пользователя. Следовательно также возникает необходимость в разработке механизма отношений между пользователями: Друг, Не друг и т. д.
19. мои сообщения. представляет собой механизм системы внутренних сообщений между пользователями сайта. чтобы отправить сообщение нужно открыть страницу нужного пользователя. сообщения оформляются в виде списка, имеются разделы: отправленные, принятые, удаленные.
20. мои фото. содержит механизм для управления личными фотоальбомами и отдельными фотографиями. форматы поддерживаемых файлов фото (jpg, png, gif) ?
21. мое видео. является средством для работы с личными альбомами видео и отдельными видеороликами. форматы поддерживаемого видео ? (mp4, flv)
22. моя музыка. представляет собой альбомы избранных музыкальных файлов. форматы поддерживаемых файлов ? (mp3, ogg)
23. связаться с администратором. возможность отправить прямое сообщение администрации
24. До регистрации на данном месте прописывается текст предлагающий зарегистрироваться и предлагающий правила поведения на портале.
25. Страница дизайнера. Что собой представляет ? Для данной категории пользователей нужна специальная роль ?
26.
27. Статьи. Представляют собой посты данного пользователя.
28. Нуждаюсь в совете. Возможность задать вопрос и получить на него ответ. Для этого необходим специальный раздел, в админ- и фронтальной частях сайта, где пользователь сможет оставить своё сообщение через специальную форму, а другие пользователи смогут на него ответить. Ответы должны быть общедоступны или видны только конкретному пользователю, задавшему вопрос ?
29. Ниже, со временем, появятся ещё кнопки. Проектирование с рассчётом на расширение в будущем.
30. 3 рекламных блока. что содержат ? как управляются и выводятся ?
31. 2. Администратор управляет всем, у него есть помощники контент менеджеры. Администратор назначается владельцем портала. ДЛЯ АДМИНИСТРАТОРА необходима специальная панель управления, недоступная обычным пользователям и доступная в ограниченном виде МОДЕРАТОРАМ.
32. Без регистрации возможности посетителя ограничены, но есть возможность посмотреть главную страницу. При нажатии закрытых кнопок возникает надпись – «Посмотреть полную версию Вы сможете после регистрации». Механизм всплывающего окна или что-либо еще.
33. блок связи с соцсетями. зарезервировать место. какие ссылки должен содержать данный блок ?
34. Предполагается, как то ограничить действия не зарегистрированных на портале лиц: «Посмотреть полную версию вы сможете только после регистрации». ПОКА ПОЛЬЗОВАТЕЛЬ НЕ ВОЙДЁТ В ЛИЧНЫЙ КАБИНЕТ он ограничен правами ГОСТЯ.
35. Предполагается не более 10 фото к одному посту/статье. Ограничение на количество фото. Аналогично нужно сформулировать для видео и музыкальных файлов.
36. Создать кнопку "Вернуться на главную страницу". Где должна располагаться, кому должна быть видна ?
37. Вставить кнопку "Поиск дизайнеров, строителей и отделочников". В какой раздел и с каким функционалом должна вести ?  
38. Ниже кнопок идет три места для рекламных баннеров. Зарезервировать место.  






ЗАДАЧИ НЕЯВНО ОПИСАННЫЕ В ТЗ либо возникшие в ходе решения поставленных в ТЗ задач

задача решение
подробнее

Особенности создания игры на движке с открытым исходным кодом fle game engine

В данной статье рассмотрим ключевые особенности движка fle game engine

Скачать его можно тут - fle game engine скачать

Когда мы размышляем о создании своей будущей игры мы всегда представляем нечто такое:

super mutant alien assault

cattails

forager

hollow knight

fantastic dizzy



Конечно чаще всего наши мечты не совсем или совсем не соответствуют реальности.

Но как говорится, мы работаем над этим.

Допустим, я хочу создать такую игру -

моя игра

Чем мне может помочь fle game engine и в чем его ключевые особенности и отличия
от других движков для создания игр ?

1) fle game engine не обладает такими возможностями как Game Maker или Unity 3d и
тягаться с ними в этом плане он не сможет.
Но как это ни странно, в целом игры не слишком сильно зависят от используемого
движка в плане качества исполнения и успешности. Тут в первую очередь играет
роль упорство и усидчивость, кропотливая работа и усердие.

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

Он никогда не сделает игру за Вас и никогда не сделает её лучше,
чем есть он сам.

Хорошо, какими же тогда возможностями обладает fle game engine ?

На fle game engine можно создать игру используя c++ и платформу directx 9
под Windows.

Исходный код движка и всех примеров является полностью открытым.

2) fle game engine не претендует на оптимальность и универсальность, но
поскольку весь исходный код открыт - Вы вполне можете исправить то, что
Вам кажется не таким как Вам хотелось бы.

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

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

Именно поэтому большинство игр создаются на собственных движках, написанных
с нуля и специально для данного проекта. fle game engine не требует
от Вас отказа от этого варианта, но может послужить хорошим стартом или
даже основой вашего собственного более расширенного движка.

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

3) В состав fle game engine входят следующие инструменты:

SceneEditor - редактор сцен

SceneEditor - редактор сцен для fle game engine

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

SceneEditor - редактор сцен для fle game engine

SceneEditor - редактор сцен для fle game engine

здесь описаны некоторые из основных возможностей
SceneEditor.

То есть SceneEditor позволяет вам создавать полноценные уровни и 2d сцены и загружать их
в игру.

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

Сборщик локаций представляет собой обычный текстовый файл, где записаны все имена файлов
игровых сцен, составляющих локацию.

Подробнее о игровых локациях рассказано тут



Утилита Coords 2D.

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

Утилита Coords 2D для fle game engine

Загрузка игровых ресурсов, как Вы сами увидите, если начнете использовать Coords 2D,
происходит также из обычного текстового файла.

Пример того как это происходит, а также пример работы с утилитой Coords 2D
описан в уроке Спрайты

В состав дистрибутива fle game engine

Скачать его можно тут - fle game engine скачать

Также входит весь необходимый исходный код, а также набор уроков
и исходный код игры simple game.

Пройдя курс уроков Вы сможете усвоить ключевые особенности работы с fle game engine.

Они сводятся к следующим его функциональным особенностям:

Классы для работы со статичными и анимированными изображениями в форматах tga, jpg, dds,
и их вывод на экран в виде фонов, игровых объектов и спрайтов.

Классы для воспроизведения звуков wav средствами DirectSound 8.

Классы для работы с файлами игровых сцен и локаций.

Модуль для воспроизведения музыки mp3, ogg - используется библиотека fmodex.

Классы управления игрой от мыши и клавиатуры средствами DirectInput 8.

А также многое другое, что Вы найдете в уроках и исходном коде.

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

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

fle game generator - эффекты под музыку и без на движке fle game engine

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

fle game generator - эффекты под музыку и без на движке fle game engine

Создание любой игры не сводится только к написанию кода и Вы это прекрасно знаете.

Так что темы создания графики, музыки, звуков и другим аспектам создания игр
не были пропущены - им посвящен целый раздел на сайте -

fle game engine Шарики на лифте + Как создать игру.

fle game engine Шарики на лифте + Как создать игру

Ну и наконец игры созданные на fle game engine - их Вы тоже можете скачать на сайте.







примеры 3d игр созданных на fle game engine с исходным кодом:

игры созданы на платформе delphi 7 directx 8.1

donuts 3d

scene2game

пример 3d игры созданной на fle game engine (открытый исходный код есть, но пока здесь не выложен).

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое 3d редактор сцен map editor

подробнее

     
  Исходный код примера игры Donuts3D из DirectX SDK 8.1 на Delphi 6-7  
     
 
[downloads:3]
 
     
 

Исходный код примера игры Donuts3D из DirectX SDK 8.1 на Delphi 6-7

===============================================
Donuts3D (версия 13.07.2007)
===============================================
автор конверсии на Delphi 6-7: Синицин А.С.
дата публикации: 15.07.2007

Введение

Вашему вниманию предлагается исходный код примера игры Donuts3D взятый из DirectX SDK 8.1 (написан на C++) и конвертированный на Delphi 6-7 с использованием библиотеки с ОБЩИМ КОДОМ.

Пример игры служит хорошей технологической основой с которой можно начать разработку собственного игрового проекта Delphi DirectX 8.1.

Системные требования

- Наличие среды Delphi 6, 7 или выше для компиляции исходного кода, наличие среды MSVS 7, 2003 или выше для редактирования и компиляции ресурсного файла *.res;

- Операционная система Windows 98SE/2000/XP sp2 или выше с установленным DirectX 8.1 или выше;

- минимум ПК уровня Pentium II с тактовой частотой 300 МНz или выше, RAM 32 Mb и выше, 4-8 Mb Video RAM и выше, DirectX-совместимая звуковая карта, мышь.

- Рекомендуется наличие DirectX SDK 8.1 или выше (для изучения DirectX);

- Терпение, старание и желание создавать компьютерные игры.

Особенности примера

Особенности кода

- Программный код на Delphi 6-7, WinAPI без использования VCL, загрузка формы из файла-ресурсов *.res сгенерированного в MSVS 7, 2003 и выше.

- для компиляции необходима библиотека с ОБЩИМ КОДОМ на Delphi 6-7 (содержит заголовки Direct3D8.pas, D3DX8, DirectInput8, DirectSound8, DirectMusic8, D3D Utils, SXModPlayer2 и т.д.);

Особенности игры

- управление от клавиатуры, мыши (DX8_DIUtil8.pas);

- 3D-камера с 3мя видами: со стороны, от третьего лица, от первого лица;

- воспроизведение звуков (DMUtil.pas);

- загрузка медиа-файлов из внешних файлов/из ресурсов внутри EXE-файла;

- анимация 2D спрайтов, представление их в сцене в виде 3D-объектов (за счет billboarding);

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

Исходный код содержит:

- Демонстрацию того, как конвертировать исходники C++ из DX SDK на Delphi;

- Шаблон того, как начать создание собственного игрового проекта Delphi DirectX 8.1;

- Реализацию и заголовочные файлы на объектном Паскале (библиотека с ОБЩИМ КОДОМ).

 
     
 

Путеводитель по исходному коду

Вступление

Кого-то из нас мучают вопросы: Можно ли научиться создавать компьютерные игры? Можно ли писать их не на C++, а каком-то другом языке?

Ответом служит данный пример. Во-первых, сама идеология DirectX рассчитана на любой язык программирования (любую среду разработки), но так уж исторически сложилось, что основная база написания самого DirectX и DirectX-приложений - это C++ ориентированная среда. Ближайшим средством разработки является конечно же MSVS (Microsoft Visual Studio). Однако существуют и другие среды, например, такие как C++ Builder и Delphi компании Borland.

Замечу сразу, что я, как автор данного примера не буду спорить о том, какая из сред разработки лучше или хуже и чем. Рассмотрение этого вопроса оставляю Вам - читателям этих материалов. Скажу лишь, что для меня ситуация сложилась таким образом, что выбор пал на Delphi. Несомненно знание С++ никоим образом Вам не помешает, а только лишь поможет! Если Вы еще не решили с чего начинать, что смело начинайте с C++ и MSVS! Однако если все-таки, по каким-то причинам, Вам всё же ближе Delphi... Начнём!

Особенности написания кода

Для работы с интерфейсами DirectX Вам понадобятся объявления типов и COM-классов DirectX. К счастью, в Интернет можно найти заголовочные файлы переписанные на Delphi. Кроме того, они служат примером того, как конвертировать C++ заголовки на Delphi. Эта информация и эти навыки Вам тоже рано или поздно понадобятся, особенно если Вы планируете плотно засесть за Delphi DirectX. DirectX постоянно обновляется. После выхода такой, ставшей практически стандартом де-факто платформы как DirectX 8.1 сразу же последовали DirectX9, DirectX9c. На подходе уже DirectX10, который Вы сможете применять в Windows Vista. Поэтому переход на эти платформы потребует от Вас новых конверсий на Delphi. Есть конечно и OpenGL... Но, опять таки, я не являюсь специалистом по OpenGL. За всеми технологиями сразу не угонишься. Кроме того и сама среда Delphi тоже постоянно обновляется - Delphi 9, Delphi 2005 ... Это тоже требует постоянных обновлений кода.

Остановившись пока на чем-то одном, чтобы развивать свои навыки не вширь, а вглубь выберем Delphi 6 - 7 и DirectX 8.1 и возьмем пример игры Donuts3D. Работа с DirectX потребует от Вас, независимо от того, на чем Вы будете писать (на С++ или Delphi), умения писать приложения WinAPI без использования кода подключаемых библиотек, таких как MFC, VCL. Конечно же использование MFC (на С++) или VCL (на Delphi) использовать Вам никто не запрещает, более того, на каком-то этапе Вам это обязательно потребуется как технология или как пример ее реализации. Однако без знания WinAPI двигаться дальше просто не имеет смысла, т.к. DirectX это COM-технология, а использование COM - это WinAPI и ... Delphi. Delphi и VCL тоже построены на принципах COM - т.е. Component Object Model.

Как написать WinAPI

Запускаем Delphi 6-7;

Создаем новый проект -
File > New > Application

Т.к. мы будем писать WinAPI приложение (без использования VCL), то нам необходимо избавиться
от всего лишнего, что было автоматически создано Delphi -
пунктом меню Project > Remove from Project удаляем из проекта модуль Unit1 с формой окна приложения.
В ответ на вопрос Remove ... ? отвечаем Yes.

Теперь нужно открыть модуль файла проекта (по-умолчанию Project1.dpr) и отредактировать его содержимое. Для открытия его нажмите комбинацию Ctrl+F12 и выберите из списка Project1. Этого же
можно добиться выбором пункта меню View > Units.

Сначала сохраним проект в файле под нужным нам именем - File > Save Project As и указываем требуемую папку и имя, в нашем случае, Donuts3D, для файла проекта.

Используя MSVS открываем оригинальный C++ проект и компилируем его для создания скомпилированного файла ресурсов, в нашем случае - donuts.res

Теперь возвращаемся к Delphi

Итак, содержимое файла Donuts3D.dpr нужно отредактировать следующим образом -
---------------------
uses
Windows,
donutsU in 'donutsU.pas';

{$R donuts.res}

var
hPrevInst: LongWord;
begin
hPrevInst := 0;
{$WARN SYMBOL_PLATFORM OFF}
ExitCode := WinMain(HInstance, hPrevInst, CmdLine, CmdShow);
{$WARN SYMBOL_PLATFORM ON}
end.

-----------------------
Где donutsU - это модуль, который нужно добавить командой File > New > Unit и сохранить
под именем donutsU.pas в папке Delphi-проекта Donuts3D

Теперь нужно настроить Ваш проект для использования папки с ОБЩИМ КОДОМ.
Предположим, что папка с ОБЩИМ КОДОМ называется common и находится на 2 уровня
выше, чем папка Donuts3D, т.е. относительные пути из папки Donuts3D к папке с ОБЩИМ КОДОМ
запишутся следующим образом -
..\..\common
..\..\common\Borland_D6-7

Чтобы задать эти пути, как используемые Вашим проектом дайте команду -
Project > Options > Directories/Conditionals > Search Path > ... и добавьте эти пути кнопкой Add.
Если Delphi не подсветит пути серым (как недоступные), значит Вы сделали настройку правильно,
в противном случае - Вы где-то напутали с указанием пути. Можно задать и абсолютные пути,
но они менее универсальны.

Остается сохранить измененные параметры проекта - File > Save All.

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

Но всё это Вы уже найдете внутри готовых исходников данного проекта, которые уже созданы автором
для Вас.

 
     
  Для облегчения понимания функционирования типового DirectX-приложения приведем структурную схему функционирования -  
     
  Структура типового DirectX-приложения  
     
 

Поясним схему. WinMain - это головная процедура, с которой начинается выполнение любой программы. Она может называться как угодно, потому что ее вызов происходит не по имени, а по точке входа в программу, однако, традиционно ее называют WinMain. Данная процедура вызывается в модуле проекта *.dpr (см. исходный код). В свою очередь, процедура WinMain содержит вызовы всех остальных функций - разворачивающих структуру приложения.

Create_ - функция начальной инициализации окна приложения;

OneTimeSceneInit - функция, содержащая вызовы других функций, отвечающих за инициализацию DirectX-объектов приложения - CreateInputObjects (объекты управления приложением через интерфейс IDirectInput), CreateSoundObjects (инициализация звука и музыки, загрузка необходимых файлов), CreateDisplayObjects (инициализация объектов Direct3D-сцены, загрузка необходимых моделей, текстур), ConstructMenus (специфичная для примера Donuts3D функция, отвечающая за инициализацию специфических объектов экранного меню приложения), AsAppState_LoadSplash - это не функция, а тип состояния приложения Donuts3D, который устанавливается по окончании выполнения функции OneTimeSceneInit (специфичный для данного примера).

WndProc - оконная процедура приложения. Она называется процедурой обратного вызова, т.к. вызывается не самим приложением, а операционной системой, которая направляет поток сообщений, предназначенных данному приложению путем вызова этой функции. Из этой процедуры происходит вызов функции обработки сообщений приложения - MsgProc. Процедура WndProc - этот как раз отражение структуры функционирования типового WinAPI-приложения, управляемого потоком сообщений (событий). Как и положено в основу идеологии данной схемы - большую часть времени получает управление операционная система. При возникновении событий, направленных приложению, находящемуся в фокусе, ему направляются сообщения и оно обрабатывает их. Особенностью DirectX-приложений по сравнению с чистыми WinAPI-приложениями, является то, что окончив обработку поступивших сообщений приложение продолжает функционировать в цикле Idle Time (т.е. во время бездействия приложения) - происходит выполнение наиболее ресурсо-емких операций - отрисовка 3D-сцены, все остальное время приложение открыто для принятия сообщений (действий со стороны пользователя). Пример реализации этого вы найдете в функции Run примера Donuts3D.

Run - запуск цикла обработки сообщений. Цикл не завершается пока функционирует приложение.

Во время Idle Time (бездействие - отсутствие действий со стороны пользователя) происходит вызов функций FrameMove и Render отвечающих за формирование анимации и отрисовку готового кадра соответственно. Как это происходит - см. исходный код функция Run.

 
     
  исходный код примера игры + откомпилированный EXE-файл + необходимые мультимедиа-файлы (1,59 Mb)
[downloads:3]
 
     
  архив с ОБЩИМ КОДОМ (766 Кб)766 Кб  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
подробнее

Глубины программирования на C++

 

Необходимый функционал системы администрирования сайта

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

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

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

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

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

Особенностью системы megainformatic cms является то, что тексты страниц с контентом сайта также хранятся в виде обычных текстовых файлов.

Поэтому у Вас есть как минимум 3 способа с помощью которых Вы можете создавать содержимое новых страниц или менять его у существующих:

1) открытие файлов контента обычным блокнотом или более продвинутым - Notepad++ и прямое редактирование кода страницы с последующим сохранением;

2) использование специальных редакторов - DreamWeaver и аналогов;

3) использование редактора админки;

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

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

 

 

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

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



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


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