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


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

megainformatic - Генератор ников, логинов
Генератор ников, логинов Если вам не хочется выдумывать себе новый ник или логин Вы можете воспользоваться данным генератором. Он генерирует строку от 10 до 35 символов длиной. Если длина получилась избыточной, вы можете просто отбросить лишние символы. Чтобы сгенерировать ник или логин нажмите кнопку start.
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
ЛЕТО

megainformatic - Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

megainformatic - Основы создания 3d игр - проект Тайны Морских Глубин

megainformatic - уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

megainformatic cms admin

megainformatic - Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

megainformatic - Теория и практика 3d игр - О Кватернионах

megainformatic - Теория и практика 3d игр - Основы теории векторов

megainformatic - Теория и практика 3d игр - Важные замечания

megainformatic - Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

megainformatic - Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

megainformatic - Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

megainformatic - Подводная лодка и подводный мир

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

модуль slider

megainformatic cms seo

Поддержка сайтом нескольких языков - модуль multi lang

Поддержка сайтом нескольких языков - модуль multi lang

megainformatic - Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Описание продукта megainformatic cms social

megainformatic - ТЗ на сайт по аналогии rys-stroi.ru

megainformatic cms groupon

megainformatic - дизайн сайта строительной компании УЛЬТРА-СТРОЙ

megainformatic - Тестирование подключения платежной системы

megainformatic - Выпадающее окно регистрации на сайте

megainformatic - Тестирование подключения к платежной системе с использованием скрипта эмулятора

megainformatic - Модуль для регистрации пользователя на сайте

megainformatic - Код для модуля регистрации пользователя на сайте

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

подробнее

     
     
  уроки Photoshop - чудеса  
     
  Уроки Photoshop - Чудеса  
     
  Коллаж от нуля - страница 2  
     
  [содержание] [страница 2] [далее]  
     
  Мы рассматриваем как создать коллаж - сначала рисуем пейзаж взяв в качестве примера фотографию  
     
 

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

создаем удаленный лес на горизонте

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

1) создаем на отдельных слоях небо и землю

создаем новый слой - для этого нужно в панели слоёв найти и нажать кнопку Создания нового слоя

 
     
  создаем новый слой - для этого нужно в панели слоёв найти и нажать кнопку Создания нового слоя  
     
  кнопка Создать новый слой в панели Слоев  
     
  после того, как это сделано - переименовываем слой, назвав его Земля или Ground - для этого щелкаем правой кнопкой мыши по изображению слоя в панели слоев и выбираем пункт меню - Параметры слоя  
     
  Параметры слоя  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  Нажимаем кнопку <Да> в этом же окне для подтверждения  
     
  Аналогично создаем слой Небо - Sky - расположив его под слоем Ground  
     
  Аналогично создаем слой Небо - Sky - расположив его под слоем Ground  
     
  Таким образом изображение, создаваемое для Земли будет находится у нас на переднем плане, а фон Неба на заднем. В любой момент Вы можете изменить порядок слоев и их глубину в сцене - простым перетаскиванием мышью  
     
  Рисуем землю. В панели слоев выбираем слой Земля / Ground, выбираем инструмент Кисть, задаем для неё следующие параметры -  
     
  параметры кисти для земли  
     
  В любой момент Вы можете задать другие параметры Кисти, используя панель параметров расположенную в верхней части экрана рабочего окна Photoshop  
     
  Цвет кисти задайте как на рисунке, но можете задать и любой другой - какой Вам нравится. Для этого нужно щелкнуть левой кнопкой по цвету переднего плана в панели инструментов слева и выбрать в диалоговом окне желаемый цвет, затем нажать <Да>  
     
  выбор цвета для рисования земли  
     
  После этого просто выполняем закраску кистью той области слоя, на которой будет расположена по замыслу Земля - наводите указатель мыши на нужную область слоя, нажимаете и удерживаете левую кнопку мыши и двигаете мышь в нужном направлении - Ваши движения мыши будет повторять инструмент Кисть, рисуя на экране  
     
  После этого просто выполняем закраску кистью той области слоя, на которой будет расположена по замыслу Земля - наводите указатель мыши на нужную область слоя, нажимаете и удерживаете левую кнопку мыши и двигаете мышь в нужном направлении - Ваши движения мыши будет повторять инструмент Кисть, рисуя на экране  
     
  Оставшаяся часть может быть залита сплошным цветом при помощи инструмента Заливка - выбираем инструмент "Заливка" в панели инструментов, Ставим галочку Смежные пиксели - для заливки только замкнутой области, щелкаем в том месте текущего слоя, где будет начата заливка  
     
  заливка  
     
  Если у Вас залился весь слой - нужно довести линию земли, которую Вы рисовали Кистью до обоих краев изображения, так чтобы она была непрерывной. Тогда заливка замкнутой области не будет выходить за данную границу. Если область земли образует замкнутый контур, но все равно заливается весь слой - проверьте, чтобы была установлена галочка Смежные пиксели (см. рисунок Выше), в других версиях Photoshop эта опция может называться по-другому.  
     
  Между линией контура земли на горизонте и залитой областью остался шов, обусловленный полупрозрачными краями кисти, которой Вы рисовали линию горизонта земли. Этот шов нужно закрасить Кистью.  
     
  Между линией контура земли на горизонте и залитой областью остался шов, обусловленный полупрозрачными краями кисти, которой Вы рисовали линию горизонта земли. Этот шов нужно закрасить Кистью  
     
  Если область земли у Вас получилась очень большой и не соответствующей линии горизонта на фотографии пейзажа - можно немного изменить размеры области земли -  
     
  Если область земли у Вас получилась очень большой и не соответствующей линии горизонта на фотографии пейзажа - можно немного изменить размеры области земли  
     
  Выбираем инструмент Перемещение, в панели свойств не забудьте установить галочку напротив опции Показать управляющие элементы  
     
  Выбираем инструмент Перемещение, в панели свойств не забудьте установить галочку напротив опции Показать управляющие элементы  
     
  Текущим должен быть слой Ground ! Наводим указатель мыши на границу Земли на управляющие элементы масштаба и удерживая левую кнопку мыши уменьшаем масштаб земли до нужного размера  
     
     
     
  [содержание] [страница 2] [далее]  
     
подробнее

Развитие сайта - временная капсула


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

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

Поэтому расскажу о своем.


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

Тогда еще на бесплатном хостинге и без поддержки динамического
наполнения - т. е. на голом html, который я толком то еще
и не знал.

Для создания применял конструктор html страниц - dream weaver.

Уже не помню какая там версия была, то ли 3, то ли 5.

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

С тех давних пор конечно многое изменилось.

Я освоил html / css / php / mysql / js.

Но знаний никогда не бывает достаточно.

Сейчас уже появляются новые технологии, новые инструменты.

Например уже мало знать как сверстать сайт.

Желательно уметь верстать его адаптивно, мобильно.

Мало создать сайт, требуется развернуть для него качественный
сервер, а для этого конечно - научиться разворачивать
и настраивать сервера.

Одним словом жизнь не стоит на месте.

Поэтому знания приходится постоянно пополнять и расширять.

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

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

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

Но нет, такого не происходит, и думаю не произойдет никогда.

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

Особенно игр.

Не секрет, что каждый мечтает создать свою игру.

Но с появлением таких площадок как steam, качество проектов
упало почти до нуля.

Поскольку игр очень много, то интерес к ним обесценивается.

Это как взять и продавать алмазы по дешевке.

Если алмазы стоят недешево и купить их не так легко, то
они и ценятся выше.

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

Сейчас же масса второсортных проектов. Просто потому что
возможностей создать их - море, но вот возможности довести
начатое до конца хватает не у всех.

Когда проект начат, энтузиазм угасает и начинается рутина,
то моментально пропадает к нему интерес.

А значит игра (приложение, какое-то хорошее начинание) откладывается
в долгий ящик, лежит там и пылится до лучших времен, а может
и навсегда.

Таких игр (приложений, сайтов, каких-то хороших начинаний) очень
и очень много. Гораздо больше чем завершенных как логически, так
и технологически.

Я не буду лукавить и скажу честно, со мной все описанное
тоже происходило.

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

Почему ?

Оправданий можно найти миллион. Но все оправдания - оправданны.
Уж простите за тавтологию.

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

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

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

Любой проект конечно же делаешь в первую очередь для себя.
Чтобы узнать что-то новое и открыть уже известное.

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

Итак, я подошел к теме - что такое развитие сайта ?

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

САЙТ СВОЙ ИЛИ НЕ СВОЙ

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

Можно привлечь пользователей, которые заинтересуются.

С одной стороны это гораздо легче, чем пытаться создать
свой сайт с нуля.

Но то что легко дается, легко и уходит.

Многие это уже поняли и потому интерес к социальным сетям
немного поугас. И уже нет такого бума, какой был тогда,
когда они только только появились.

Основная цель любой соц. сети - это общение между пользователями.

Я человек не слишком общительный, поэтому особого увлечения
социальными сетями не испытывал.

Однако понимаю, что совсем без общения сложно вообще кого-либо
заинтересовать своим проектом.

Так что вторая составляющая развития любого сайта - это его
продвижение в массы.

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

И все это можно найти на просторах сети. Это могут быть
как социальные сети, так и какие-то самостоятельные проекты.



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


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

Целей этих чаще всего несколько и некоторые из них совсем не
очевидны даже их создателю.


Что же это за слова, по которым можно найти искомое ?

Их никто не знает. Потому что как и сайт, интернет это живая,
динамичная система.

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




подробнее

Коллекция полезных php скриптов

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

Вот они -

Web технологии

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

Скрипт выбора случайного слова из списка.

Если обновлять страницу, то каждый раз будет выводиться новое слово.

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

подробнее

Создание сайта для бизнеса - Миф или реальность ?

Сегодня мы с Вами поговорим на тему создания бизнес сайта или сайта для бизнеса.

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

Для чего создаются сайты ?

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

Каких задач ?

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

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

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

Существует ли какой-то секрет успеха при создании сайта ?

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

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

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

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

Что я могу посоветовать тем из Вас, кто решил заняться созданием сайта сам или привлечь для этого специалистов ?

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

На первое время нужно обзавестить хотя бы такими вещами:

- Набор разработчика DENWER Дмитрия Котерова;

- Программа для работы по FTP - FileZilla;

- Редактор текста и кода - Notepad++;

- Информационные сайты и материалы по php, my sql, html, css, javascript, flash, работе в photoshop;

- Статьи на различную тематику посвященную сайтам, их созданию и продвижению;

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

Этот список еще далеко не полон.

Желаю Вам удачи на ниве создания сайтов !

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

Исходный код примера игры 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)
Скачиваний : 14
 
     
  архив с ОБЩИМ КОДОМ (766 Кб)766 Кб  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
megainformatic live chat
Начать беседу
X
 

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



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


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