Balls and holes PC game / Balls and Holes PC игра
Сегодня
4 декабря 2023
7:04
Вход Регистрация Забыли пароль ?

Indiana Jones and the Last Crusade | ZX Spectrum | arcade game | US Gold Ltd UK, 1989, Tiertex Ltd, Mark Haigh-Hutchinson, Blue Turtle, Mark Tait
Indiana Jones and the Last Crusade | ZX Spectrum | arcade game | US Gold Ltd UK, 1989 Авторы: Tiertex Ltd, Mark Haigh-Hutchinson, Blue Turtle, Mark Tait
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

Jelly Rock Ola | 2048

Bubble Hero 3D | match 3

Flappy Eros | clicker

Candy SlingShot | logical shooter

Circles | pairs

Monster Blocks | tetris

Doggy Dive | arcade

Pet Drive In | gamburger maker

Flappy WOW | clicker

Mr Flap | clicker

Ocean Crash | tetris

Space Miner | physics

Swing Copters | clicker

UpUp Ubie Remix | clicker

Octane Racing | race

Flappy Ball | clicker

Penalty Shooters | angle shooter

Real Soccer | clicker

Soccer | run and click

Goal! | clicker

Running Soccer | run and click

Brazil Cup 2014 | clicker

Sushi Matching | match 3

Juicy Dash | match 3

Fancy Diver | match 3

Pocahontas Slots | slot machine

Teddy Bear Zombies Machine Gun | angle shooter

Alien Kindergarten | swap

Sun Charm | match 3

Chin Up Shin Up | clicker

игры онлайн | games online | play online | zx-spectrum games

Spellbound Dizzy | ZX Spectrum | quest game | Code Masters Ltd, 1991

игры онлайн | games online | play online | zx-spectrum games

Gregory Loses His Clock | ZX Spectrum | quest game | Mastertronic Plus, 1989

Jack the Nipper | ZX Spectrum | quest game | Gremlin Graphics Software Ltd, 1986

Skyscraper of Doom | ZX Spectrum | quest game | Rafal Miazga, 2009

Dan Dare: Pilot of the Future | ZX Spectrum | quest game | Virgin Games Ltd, 1986

Short Circuit | ZX Spectrum | quest game | Ocean Software Ltd, 1987

Hydrofool | ZX Spectrum | quest game | Faster Than Light, 1987

Dustin | ZX Spectrum | quest game | Dinamic Software, 1987

Druid | ZX Spectrum | quest game | Firebird Software Ltd, 1986

Knight Lore | ZX Spectrum | quest game | Ultimate Play The Game, 1984

Abe's Mission: Escape | ZX Spectrum | quest game | Perspective Group, 2002

Slightly Magic | ZX Spectrum | quest game | Code Masters Ltd, 1991

Towdie | ZX Spectrum | quest game | Ultrasoft, 1994

Heartbroken | ZX Spectrum | quest game | Atlantis Software Ltd, 1989

Time Machine | ZX Spectrum | quest game | Activision Inc, 1990

Simpsons: Bart vs. the Space Mutants, The | ZX Spectrum | quest game | Ocean Software Ltd, 1991

Toi Acid Game | ZX Spectrum | arcade | Iber Software, 1989

Aquanoids | ZX Spectrum | platformer | Neil Parsons Испания, 2015

Star Inheritance: Black Cobra (Звёздное наследие: Чёрная Кобра) | ZX Spectrum | adventure | Step Creative Group (Россия), 1995 играть онлайн

chase h. q. | ZX Spectrum | races | Ocean Software Ltd (Великобритания), 1989 играть онлайн

turbo girl | ZX Spectrum | races | Dinamic Software (Испания), 1988 играть онлайн

mambo | ZX Spectrum | arcade | Positive (Испания), 1989 играть онлайн

Marsmare: Alienation | ZX Spectrum | arcade | Пьяная муха, 2020 играть онлайн

ria zx game | ZX Spectrum | visual novel | megainformatic, 2022 играть онлайн

     
  Исходный код примера игры Donuts3D из DirectX SDK 8.1 на Delphi 6-7  
     
 
Скачиваний : 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)
Скачиваний : 3
 
     
  архив с ОБЩИМ КОДОМ (766 Кб)766 Кб  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
 

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



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