PMG
https://www.forum.pmg.org.ru/

Взаимодействие обьектов с логикой игры
https://www.forum.pmg.org.ru/viewtopic.php?f=4&t=436
Страница 1 из 1

Автор:  pascal [ 06 май 2006 22:25 ]
Заголовок сообщения:  Взаимодействие обьектов с логикой игры

Всем привет сейчас я пишу игру - космические сражения.У меня есть класс cSpaceShip ( космический истребитель ) .Так вот в нем есть локальная матрица D3DXMATRIX LocalMatrix;
Именно в ней будут производиться перемещение и повороты корабля,за счет функций данного класса в которых будут использоватся математические функции Директ Икса .После данная матрица будет умножатся на Мировую матрицу игры .Прав ли я ?Если нет то посоветуйте как лучше бы мне было это сделать .Так же я думаю что в игре должны существовать класс ИИ, класс Физики , подскажите как лучше реализовать взаимодействие между обьектам .
P.S Заранее спасибо за ответ .Пишу на Сы ++ =) ДиректИкс

Автор:  pascal [ 08 май 2006 10:33 ]
Заголовок сообщения: 

Ау!!! ЛЮДИ !!! :( Помогите кто может .Подскажите ...

Автор:  MagicWolf [ 10 май 2006 10:26 ]
Заголовок сообщения:  Re: Взаимодействие обьектов с логикой игры

pascal писал(а):
Всем привет сейчас я пишу игру - космические сражения.У меня есть класс cSpaceShip ( космический истребитель ) .Так вот в нем есть локальная матрица D3DXMATRIX LocalMatrix;
Именно в ней будут производиться перемещение и повороты корабля,за счет функций данного класса в которых будут использоватся математические функции Директ Икса .После данная матрица будет умножатся на Мировую матрицу игры .Прав ли я ?


В принципе да. Криминала на первый взгляд нет.

pascal писал(а):
Если нет то посоветуйте как лучше бы мне было это сделать .Так же я думаю что в игре должны существовать класс ИИ, класс Физики , подскажите как лучше реализовать взаимодействие между обьектам .
P.S Заранее спасибо за ответ .Пишу на Сы ++ =) ДиректИкс


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

Автор:  pascal [ 10 май 2006 14:43 ]
Заголовок сообщения: 

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

Автор:  MagicWolf [ 10 май 2006 15:37 ]
Заголовок сообщения: 

Не знаю простых и распространенных. Посмотри в книгу 3D Game Engine Architecture Engineering Real-Time Applications with Wild Magic - мало не покажется. С другой стороны есть Программирование стратегических игр с DirectX 9.0, там вроде не так все заморочено. Посмотри, хотя бы там для примера. Но рассказывать на форуме чему посвящаются целые книги - тяжело.

Автор:  pascal [ 10 май 2006 17:29 ]
Заголовок сообщения: 

Лана ок .Спасибо за совет

Автор:  NetLib [ 11 май 2006 09:12 ]
Заголовок сообщения: 

Цитата:
Именно в ней будут производиться перемещение и повороты корабля,за счет функций данного класса в которых будут использоватся математические функции Директ Икса .


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

Автор:  pascal [ 11 май 2006 17:16 ]
Заголовок сообщения: 

Так именно это я и имел ввиду.А по взаимодействию обьектов ктото может ченить посоветовать?

Автор:  Stargazer [ 11 май 2006 20:26 ]
Заголовок сообщения: 

А что ты понимаешь под взаимодействием объектов? Поконкретнее.

Автор:  pascal [ 11 май 2006 23:48 ]
Заголовок сообщения: 

Именно я понимаю : что в игре есть еще помимо обьектов игры ( космические корабли , ракеты .... выводимые на экран) ,такие классы как клас для управления этими обьектами ( класс ИИ ) , и класс физики .И вот я ломаю себе голову как лучше реализовать обмен данными или сообщениями между обьектами игры и классами ИИ и физики.Где удобней и выгодней (шоб меньше ресурсов жрало) былобы разместить ,допустим, функции для перемещения обьекта игры - космического корабля в его классе или в классе физики .......Я думаю Вы меня поняли

Автор:  MagicWolf [ 12 май 2006 11:36 ]
Заголовок сообщения: 

Ну это твое творчество, конкретные указания трудно дать. Почитай NeHe: Урок 30. Определение столкновений и моделирование законов физики.

Функцию перемещения лучше размещать в контроллере объекта, т.е. такой класс, который управляет анимацией объекта. По моему у Борескова это было.

Автор:  Stargazer [ 12 май 2006 16:34 ]
Заголовок сообщения: 

pascal писал(а):
Именно я понимаю : что в игре есть еще помимо обьектов игры ( космические корабли , ракеты .... выводимые на экран) ,такие классы как клас для управления этими обьектами ( класс ИИ ) , и класс физики .И вот я ломаю себе голову как лучше реализовать обмен данными или сообщениями между обьектами игры и классами ИИ и физики.


Мне кажется, тут надо сперва задаться вопросом "для чего им обмениваться данными?". Когда ответишь, легче будет понять, как именно осуществлять обмен.

Цитата:
Где удобней и выгодней (шоб меньше ресурсов жрало) былобы разместить ,допустим, функции для перемещения обьекта игры - космического корабля в его классе или в классе физики .......Я думаю Вы меня поняли


Я надеюсь, что понял. Думаю, что корабль должен уметь перемещаться из точки А в точку Б. Реализация перемещения может быть разной - либо это поведение самого корабля, либо внешний "мозг", который хранит данные обо всех кораблях и их маршрутах и рассчитывает для каждого корабля новую позицию - в зависимости от скорости и направления.

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/