Форум программистов, компьютерный форум CyberForum.ru

DirectX направленное движение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ На qt creator возможно написать программу Эмулятор браузера? http://www.cyberforum.ru/cpp-beginners/thread689013.html
На qt creator возможно написать программу Эмулятор браузера? os: ubuntu
C++ компиляция моя программа компилирует код которого уже нет! что делать? http://www.cyberforum.ru/cpp-beginners/thread688994.html
C++ В каком квадранте находится точка (x, y) ?
помогите написать программу в С++ в каком квадранте находится точка (x, y) и вывести номер квадранта.
Класс фигура c++ C++
Класс "фигура": координаты на шахматной доске, цвет. Метод - "ход" на одну позицию в одном из 4 направлений. Производные: "конь", "пешка" (порядковый номер, или своя половина поля), "ферзь" - со своими методами "ход" и "удар".
C++ Программа с матрицами: с квадратную (n x n) работает нормально, а с m x n с выдаёт ошибку http://www.cyberforum.ru/cpp-beginners/thread688976.html
Задание: Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент, и номер столбца, в котором находится самая длинная серия одинаковых элементов. Проблема: Если вводишь матрицу n*n т.е. квадратную,то все работает, а если m*n то вылезает ошибка. Помогите исправить. // 23.cpp: определяет точку входа для консольного приложения. // ...
C++ Удаление слова после запятой из строки, упростить программу Я написал программу для удаления одного слова после запятой, но она получилась очень громистка! Как ее можно записать проще, но чтобы так же работала? #include <conio.h> #include <string.h> #include <iostream.h> using namespace std; void deletes(char *str, int pos); int main(){ char str = {}; cin.get(str,200); for (int i = 0; i < strlen(str); i++) подробнее

Показать сообщение отдельно
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
05.11.2012, 14:52  [ТС]     DirectX направленное движение
Занимаюсь по книжке "Введение в программирование трёхмерных игр с DirectX9" ))

вот что накропал

создаю кубик
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
D3DXMATRIX mat;//матрица мира конечная
D3DXMATRIX matRot;//матрица поворота
ID3DXMesh* Object = 0;
D3DXVECTOR3 pos(0.0f, 0.0f, 0.0f);
D3DXVECTOR3 look(0, 0,  20.0f);
 
D3DXCreateBox(
        Device,
        4.0f, 
        4.0f,
        4.0f,
        &Object,
        0
        );
значит ввод пользователя
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if( ::GetAsyncKeyState(VK_UP) & 0x8000f )
        {
            pos += D3DXVECTOR3(look.x, 0, look.z) * timeDelta;
            D3DXMatrixTranslation(&mat, pos.x, pos.y, pos.z);
        }
            
 
        if( ::GetAsyncKeyState(VK_DOWN) & 0x8000f )
        {
            pos += D3DXVECTOR3(look.x, 0, look.z) * -timeDelta;
            D3DXMatrixTranslation(&mat, pos.x, pos.y, pos.z);
        }
            
 
        if( ::GetAsyncKeyState(VK_LEFT) & 0x8000f )
        {
            D3DXMatrixRotationY(&matRot, timeDelta);
            D3DXMatrixMultiply(&mat, &matRot, &mat );
            D3DXVec3TransformCoord(&look,&look, &matRot);
        }
            
            
        if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )
        {
            D3DXMatrixRotationY(&matRot, -timeDelta);
            D3DXMatrixMultiply(&mat, &matRot, &mat );
            D3DXVec3TransformCoord(&look,&look, &matRot);
        }
//рисую куб
Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
        Device->BeginScene();
        
        Device->SetTransform(D3DTS_WORLD, &mat);
        Object->DrawSubset(0);
 
        Device->EndScene();
        Device->Present(0, 0, 0, 0);
но получается как то по дурацки - клавишами влево - вправо он поворачивается,
но при нажатии вперёд назад он разворачивается как был и движется в сторону куда он повернулся после клавиш влево - вправо...
 
Текущее время: 15:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru