изображена диаграмма подвижных частей
• Это летающий танк.
• Мне было лень возиться с колесами.
Решайте сами.
На Рисунок 6- 12 изображена диаграмма подвижных частей танка (вместе с колесами). Иллюстрация приведена на цветной вкладке.
. Составные части танка
Создание собственного контроллера движения
/h2>
В приложении Tank класс C3dTank является производным от C3dFrame. Последовательность, в которой строится танк, такова: сначала мы присоединяем корпус к внешнему фрейму, затем присоединяем башню к корпусу и в последнюю очередь присоединяем пушку и радар к башне. Радар приводится в постоянное вращение. Пушка может подниматься и опускаться, вращаясь вокруг своей горизонтальной оси. Башня может вращаться вокруг вертикальной оси корпуса.
Перед тем как заниматься контроллером, давайте рассмотрим фрагмент кода, в котором создается танк, чтобы нам было легче управлять им:
C3dTank::C3dTank() {
// Создать фрейм
C3dFrame::Create(NULL) ;
// Загрузить составные части танка и построить танк
m_hull.Load(IDX_HULL) ;
AddChild(&m_hull) ;
m_turret.Load(IDX_TURRET) ;
m hull.AddChild(&m_turret);
m_gun.Load(IDX_GUN) ;
m_turret.AddChild(&m_gun) ;
// Радар имеет собственный фрейм,
// чтобы было удобнее управлять осью вращения
C3dFrame rframe;
rframe.Create(&m_turret);
C3dShape radar;
radar.Load(IDX_RADAR) ;
rframe.AddChild(Sradar) ;
radar.SetPosition(0, 0, -0.3);
rframe.SetPosition(О, О, 0.3);
rframe.SetRotation(0, 1, 0, 0.1);
SetGun(25) ;
}
Единственное, что может здесь показаться странным, — это то, что я использовал для радара отдельный фрейм. Мне пришлось поступить так из-за того, что в первоначальном варианте танка ось у радара была смещена относительно того места, где я хотел расположить радар. Поэтому я задал начало координат фрейма в той точке башни, где помещается ось, и сместил объект-радар внутри фрейма, чтобы он находился над осью вращения (Рисунок 6-13).
Все объекты, из которых состоит наш танк, были созданы в 3D Studio и преобразованы в формат .X с помощью утилиты conv3ds, входящей в DirectX 2 SDK. Они были включены в файл приложения RC2 в качестве ресурсов:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий