Среда, 04 Декабря 2024, 12:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Результаты поиска
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.
Увы, НЕ ВСЕМ детям(в частности школьникам) дано изучение С++ до глубины классов и объектов. Но я констатирую!-БЕЗ ООП НЕ ДВИНЕТЕСЬ НИКУДА!
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг