Программирование 3D-игр в DirectX на Delphi
 
         
    [Главная] [Новости] [Статьи] [Игры] [Проекты] [Автор]  
         
    [Архив новостей]    
         
  [Форум] на форуме можно задать вопрос, посмотреть ответы на часто задаваемые вопросы  
         
  Основы 3D-программирования DirectX9 в Delphi 2006: теоретические и практические основы создания игр.  
     
     
Здравствуйте! Вы попали на информационно-образовательный сайт посвященный информатике, информационным технологиям и компьютерным играм. Подробнее о целях и задачах сайта в разделе Главная. [English version of this page here...]
 
[Базовые уроки по DirectX] [Основы DirectMusic на Delphi] [Основы DirectInput8 на Delphi] [Основы DirectSound8 на Delphi]
[Разработка компьютерной игры] [Пример игры Donuts3D] [Delphi DirectX]
 
Что такое Delphi DirectX ?
     
  [назад] [далее] [к содержанию]  
     
  19/05/2009  
     
  Улучшаем класс TAnimatedModel для работы с мульти-анимациями на основе примера MultiAnimation из DirectX SDK 9  
     
 

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

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

 
     
 

Обратим внимание на реализацию метода function CTiny.Setup

Строки

ChooseNewLocation(m_vPos);
bBlocked := IsBlockedByCharacter(m_vPos);

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

В более универсальном случае позиция должна задаваться только свойством m_vPos, причём объявленным как public

функция проверки на предмет блокирования другими персонажами будет подразумевать, проверку только для данного вида персонажа, проверка для других видов персонажей должна производиться вне пределов данного класса (на уровне приложения в методе проверки для всех типов персонажей)

строки подобные

m_dwAnimIdxLoiter := GetAnimIndex('Loiter');

определяют индекс анимационного набора по его имени.

Вместо этого нужно предусмотреть специальную структуру данных, которая хранила бы пары вида ИндексАнимации - ИмяАнимации

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

Использование звуков шагов

Result := DXUtil_FindMediaFileCch(sPath, MAX_PATH, FOOTFALLSOUND00);

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

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

 

Обновления и новости о развитии Delphi DirectX проекта
смотри на сайтах:

http://www.megainformaticsite.pochta.ru

http://www.megainformatic.boom.ru

http://www.megainformatic.narod.ru

 

   
       
     
 

по всем вопросам пишите на megainformatic@mail.ru или оставьте сообщение на форуме

 
     
   Обмен ссылками  
     
     
             
 
 
         
(с) МЕГА ИНФОРМАТИК 2006-2009

 

Hosted by uCoz