QapLiteФорумQapLite

Вопросы и ответы

#0
15:10, 11 дек 2014

Ну как вам двиг?

#1
23:37, 5 янв 2015

А как его в оконном режиме запустить и задать размер окна?

#2
1:45, 6 янв 2015

animert
попробуй вот этот кусок кода:

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
  GlobalEnv global_env(hInstance,hPrevInstance,lpCmdLine,nCmdShow);
  TGame builder;
  builder.DoNice();
}

заменить на вот этот:

void TD3DGameBox_WindowModeEx(TD3DGameBox&win)
{
  auto&Quad=win.Quad;HWND&hWnd=win.Form.WinPair.hWnd;
  DWORD Style=win.FullScreen?WS_OVERLAPPED:WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN;
  SetWindowLong(hWnd,GWL_STYLE,Style);
  RECT Rect=Quad.GetWinRect();AdjustWindowRect(&Rect,Style,false);TQuad q;q.SetWinRect(Rect);
  SetWindowPos(hWnd,0,q.x,q.y,q.w,q.h,SWP_FRAMECHANGED|SWP_NOOWNERZORDER);
  ShowWindow(hWnd,win.FullScreen?SW_MAXIMIZE:SW_NORMAL);
  ShowWindow(hWnd,win.Visible?SW_SHOW:SW_HIDE);
}

void TD3DGameBoxBuilder_DoNiceInWindowMode(TD3DGameBoxBuilder&builder)
{
  builder.init("2015.01.06");
  builder.win.Init();
  builder.init_d3d();
  TD3DGameBox_WindowModeEx(builder.win);
  UpdateWindow(builder.win.Form.WinPair.hWnd);
  builder.loop();
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
  GlobalEnv global_env(hInstance,hPrevInstance,lpCmdLine,nCmdShow);
  TGame builder;
  builder.win.FullScreen=true;
  builder.win.Quad.GetSize()=vec2i(320,240);
  builder.win.Quad.setAtCenterScreen();
  TD3DGameBoxBuilder_DoNiceInWindowMode(builder);
  //builder.DoNice();
}

hotfix :)

ЗЫ: дай знать если поможет.

#3
7:01, 6 янв 2015

Работает

Почему точка 0,0 находится в центре окна?

#4
12:09, 6 янв 2015

В DirectX так принято.

QapLiteФорумQapLite

Тема в архиве.