Результаты поиска
| |
TrueNathan | Дата: Пятница, 22 Марта 2013, 14:10 | Сообщение # 41 | Тема: Неудается подключить d3dx9.h |
частый гость
Сейчас нет на сайте
| В свойствах проекта нужно указать путь к header файлам как пример, видно в каких разделах по картинке у меня DXSDK просто в папке WinSDK находится, так что структура вся та же
Сообщение отредактировал TrueNathan - Пятница, 22 Марта 2013, 14:13 |
|
| |
TrueNathan | Дата: Вторник, 19 Марта 2013, 20:17 | Сообщение # 42 | Тема: Ошибки в коде |
частый гость
Сейчас нет на сайте
| Код UpdateWindow( hwnd );
while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg);
DispatchMessage(&msg); }
return(msg.wParam); Почему то этот код повторяется и причём вне функции
вот рабочий код Код #include <windows.h>
#include <d3d9.h>
LPDIRECT3D9 pDirect3D = 0;
HRESULT IntialDirect3D(HWND hwnd) { if(0 == (pDirect3D = Direct3DCreate9(D3D_SDK_VERSION))) return E_FAIL; D3DDISPLAYMODE Display; // if(FAILED(pDirect3D ->GetAdapterDisplayMode(D3DADAPTER_DEFAULD,Dysplay))) // return E_FAIL; D3DPRESENT_PARAMETERS Direct3DParametr; ZeroMemory(&Direct3DParametr,sizeof(Direct3DParametr)); Direct3DParametr.Windowed = true; Direct3DParametr.SwapEffect = D3DSWAPEFFECT_DISCARD; Direct3DParametr.BackBufferFormat = Direct3DParametr.BackBufferFormat; //if(FAILED(pDirect3D ->CreateDevice(D3DADAPTER_DEFAULD,D3DDEVTYPE_HAL,hwnd,D3DCREATE_HARDWARE_VERTEXPROCESSWG,&Direct3DParametr,&pDirect3DDevice))) // return E_FAIL; return S_OK;
}
LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{ switch(msg) { case WM_PAINT: break; case WM_DESTROY: { PostQuitMessage(0); return(0); } break; } return (DefWindowProc(hwnd, msg, wparam, lparam)); }
int WINAPI WinMain (HINSTANCE hinstance,HINSTANCE hprevinstanse ,LPSTR LpCmdLine,int nCmdShow) { WNDCLASSEX windowsclass; HWND hwnd; MSG msg; windowsclass.cbSize = sizeof(WNDCLASSEX); windowsclass.style = CS_DBLCLKS|CS_OWNDC|CS_HREDRAW|CS_VREDRAW;
windowsclass.lpfnWndProc = MainWinProc; windowsclass.cbClsExtra = 0; windowsclass.cbWndExtra = 0; windowsclass.hInstance = hinstance; windowsclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); windowsclass.hCursor = LoadCursor(NULL,IDC_ARROW); windowsclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); windowsclass.lpszMenuName = NULL; windowsclass.lpszClassName = L"WINDOWSCLASS"; windowsclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&windowsclass)) return(0); if(!(hwnd = CreateWindowEx(NULL, L"WINDOWSCLASS", L"Базовое окно для DirectX", WS_OVERLAPPEDWINDOW|WS_VISIBLE, 0,0, 500,400, NULL, NULL, hinstance ,0 ))) return(0);
ShowWindow(hwnd, SW_SHOWDEFAULT); UpdateWindow(hwnd);
while(GetMessage(&msg, NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); }
1 ошибка в знании английского языка D3DADAPTER_DEFAULD слово DEFAULD правильно пишется DEFAULT 2. Не объявлены эти переменные. D3DCREATE_HARDWARE_VERTEXPROCESSWG; *pDirect3DDevice; Объявляются так - IDirect3DDevice9 *pDirect3DDevice; DWORD D3DCREATE_HARDWARE_VERTEXPROCESSWG;
Им похоже значение нужно присвоить...DX не изучал пока, немогу знать что должно чему равняться, в итоге программа компилируется с выводом предупреждений Код warning C4700: uninitialized local variable 'Display' used warning C4700: uninitialized local variable 'D3DCREATE_HARDWARE_VERTEXPROCESSWG' used
Сообщение отредактировал TrueNathan - Вторник, 19 Марта 2013, 20:34 |
|
| |
TrueNathan | Дата: Понедельник, 18 Марта 2013, 22:08 | Сообщение # 43 | Тема: Первый опыт |
частый гость
Сейчас нет на сайте
| Главное не торопиться в изучении и понимании языка, и начинать нужно с самых азов. А не сразу вгрызаться в супер движки и прочие технологии.
|
|
| |
TrueNathan | Дата: Понедельник, 18 Марта 2013, 15:50 | Сообщение # 44 | Тема: Ищу игровой движок для 2d игры жанра RPG , песочница на c++ |
частый гость
Сейчас нет на сайте
| Движок от пользователя этого сайта ((((ХХХХХ)))) ой sorry там DirectX(((
Сообщение отредактировал TrueNathan - Понедельник, 18 Марта 2013, 15:52 |
|
| |
TrueNathan | Дата: Вторник, 12 Марта 2013, 19:03 | Сообщение # 45 | Тема: Первая игра(С++) |
частый гость
Сейчас нет на сайте
| Всем спасибо. Цитата (stalker5889) Круто но есть пара минусов: 1. Раз юзаешь ООП то надо было разбить код на методы (функции-члены). Например move_up(), draw(x,y) и проч. Создать отдельный класс для мапы тоже было бы неплохо. Для ПЕРВОЙ игры это не критично smile 2. Метод отрисовки. У меня чуть глазаврыши не вытекли. wacko Зачем в одном такте два раза обновлять экран? 1. обязательно разобью, попытаюсь покрайней мере. 2. процессор особе не загружен двойной отрисовкой. я так понял, сначала отрисовывается карта, потом после ввода(нажатия WASD), отрисовывается новое положение Р на карте..хм а ведь при каждом нажатии, происходит 1 отрисовывание, пока не нажмётся Esc Код while (step != 27) // esc { cout << "Points: "<< points; step = _getch();
switch (step) { case 77: // right if (gamefield[y][x + 1] != '#') { if (gamefield[y][x + 1] == '$') { ++points; } gamefield[y][x] = ' '; ++x; gamefield[y][x] = 'P'; } break;
case 75: // left if (gamefield[y][x - 1] != '#') { if (gamefield[y][x - 1] == '$') { ++points; } gamefield[y][x] = ' '; --x; gamefield[y][x] = 'P'; } break;
case 80: // down if (gamefield[y + 1][x] != '#') { if (gamefield[y + 1][x] == '$') { ++points; } if (gamefield[y + 1][x] == 'X') { return 1; } gamefield[y][x] = ' '; ++y; gamefield[y][x] = 'P'; } break;
case 72: // up if (gamefield[y - 1][x] != '#') { if (gamefield[y - 1][x] == '$') { ++points; } gamefield[y][x] = ' '; --y; gamefield[y][x] = 'P'; } break; }
system("cls");
for(int v = 0; v < 10; ++v) { for(int h = 0; h < 10; ++h) cout << gamefield[v][h]; cout << endl;
}
|
|
| |
TrueNathan | Дата: Понедельник, 11 Марта 2013, 16:14 | Сообщение # 46 | Тема: Первая игра(С++) |
частый гость
Сейчас нет на сайте
| Цитата Как играть? У меня игра уходит в бесконечный цикл... Понять не могу почему так. Вроде всё просто, ничего сложного в коде нет. Может быть чтото не то с вашей системой(?). У меня ХР SP2 64bit
|
|
| |
TrueNathan | Дата: Понедельник, 11 Марта 2013, 14:52 | Сообщение # 47 | Тема: Скринмэйты |
частый гость
Сейчас нет на сайте
| Пример простейшего скринмейта RGhost Исходный код RGhost - По книге "Фленов Программирование на c++ глазами хакера" ISBN: 5-94157-500-9
|
|
| |
TrueNathan | Дата: Понедельник, 11 Марта 2013, 10:09 | Сообщение # 48 | Тема: Demo (Blitz3D) |
частый гость
Сейчас нет на сайте
| Ошибка. Настройки не помогли. КАКОЕ ВИДЕО? 1. так и нужно писать, что видео карта встроенная. 2. у меня не встроенная видеокарта, и.. счего вы взяли что у меня она встроенная, бог знает. 3. раз уж вы знали, что на встроенных видеокартах игра не запускается(вдруг-внезапно 0_о), могли б и предупредить, а не отписываться с пафосными многоточиями Цитата если видеокарта встроенная, то не имеет смысла запускать, ибо она много чего не поддерживает. видеокарта много чего не поддерживает? или игра?
Сообщение отредактировал TrueNathan - Понедельник, 11 Марта 2013, 11:07 |
|
| |
TrueNathan | Дата: Воскресенье, 10 Марта 2013, 22:03 | Сообщение # 49 | Тема: Первая игра(С++) |
частый гость
Сейчас нет на сайте
| Изучаю С++ совсем недавно. Буквально неделю назад освоил функцию _getch(), после чего появилась идея создания такого вот лабиринта. Пример похоже заезженный, ибо, при перерисовке массива просил помощи у знающих, те и показали пример то ли из книги то ли из какой то статьи. Но остальное сам доделал. Игрой можно назвать с натяжкой. Реализовал разные размеры карт, вывод очков. Выкладываю только чтобы поделиться исходным кодом. Код доступен и выводится в отдельный файл только после прохождения. 3 простых уровня. exe файл zip файл ---------------------------------------------------------------------------------------------------------------------------- Обновление!
С использованием звука в меню(FMOD).
//----------------------------------------------------------------------------------------------------------------------------------- Закончил работу. Генератор не реализовал, ибо есть свои задумки для другого формата игры. мало чего знаю пока, потому не реализовал ряд улучшений в коде. хотя есть куча примеров, мог бы всё сдувать от туда.. ну ладно, зато было интересно, ощущения, будто ты не программируешь а в конструктор играешь. игра с исходниками (((0))) в процессе улучшения
Сообщение отредактировал TrueNathan - Вторник, 21 Мая 2013, 00:24 |
|
| |
TrueNathan | Дата: Воскресенье, 10 Марта 2013, 19:47 | Сообщение # 50 | Тема: создание движка - помогите! |
частый гость
Сейчас нет на сайте
| Цитата Помогите пожалуйста! Я понимаю, что может звучать несколько примитивно , но Я ХОЧУ СОЗДАТЬ ДВИЖОК. Подскажите кто-нить с чего начать, что учить и т.д. Дайте ссылку на статью или логин скайп (если кто-нить сам в этом шерудит), на крайняк дайте ссыль на хороший (отличный) (очень отличный) движок бесплатно открытый для коммерческого использования (хотя вряд ли такие есть). Моя цель - научиться создавать игры с геймплеем а-ля PointBlank. Заранее спасибо. Всё упирается в Объектно-ориентированное программирование. Купи книгу по С++, желательно Герберта Шилдта. чтобы всегда была под рукой... Постепенно, изучая язык, придёшь к пониманию создания подобных программ типа движков, подключаемых модулей, библиотек и т.д. Потом, можешь изучить(не досконально конечно) какой нибудь лёгкий игровой движок. Посмотреть как там устроена его архитектура, как он выглядит изнутри.
|
|
| |
TrueNathan | Дата: Воскресенье, 10 Марта 2013, 17:07 | Сообщение # 51 | Тема: Проблема с установкой Visual Studio express 2012 |
частый гость
Сейчас нет на сайте
| Цитата ОС - windows XP professional! .NET Framework 4.5 не совместима с Windows XP и более ранними версиями Windows. Качай Visual Studio 2010 Express
|
|
| |
TrueNathan | Дата: Воскресенье, 10 Марта 2013, 14:18 | Сообщение # 52 | Тема: как лутше изучать Директс? |
частый гость
Сейчас нет на сайте
| Цитата здраствуйте.появилась идея собрать команду программистов С++ и DirectX.Но изучение DirectX довольно сложно.Поетому я подумал што легче изучать одному человеку создание ландшафта или освещение, или создание окна.Я иммею ввиду што может лутше изучить штота одно чем всё для одного человека.Пожалуйста подскажыте программисты с опытом.
Суть, главное что нужно ВАМ понять, что, особо изучать DirectX и не нужно, ибо есть куча книг, куча статей, где описываются основы применения той или иной функции этого API. Главное, изучить С++. Понять принципы ООП. Чтобы, зная как и для чего создаются классы, умели конструировать программу, с использованием DirectX. Увы, НЕ ВСЕМ детям(в частности школьникам) дано изучение С++ до глубины классов и объектов. Но я констатирую!-БЕЗ ООП НЕ ДВИНЕТЕСЬ НИКУДА!
|
|
| |
|