本文共 670 字,大约阅读时间需要 2 分钟。
本文只针对于《逐梦之旅windows 游戏编程从零开始》之中D3D框架篇遇到的问题,不是本问题的请绕行,以免耽误您的时间!
在浅墨的框架中从创建窗口到消息循环中是这样一段代码:
HWND hwnd = CreateWindow(wndClass.lpszClassName,WINDOW_TITLE,WS_POPUP|WS_THICKFRAME,
CW_USEDEFAULT,CW_USEDEFAULT,WINDOW_WIDTH,WINDOW_HEIGHT,NULL,NULL,hInstance,NULL);
Direct3D_Init(hwnd); ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);
而在笔者代码中是这样写的:
HWND hwnd = CreateWindow(wndClass.lpszClassName,WINDOW_TITLE,WS_POPUP|WS_THICKFRAME,
CW_USEDEFAULT,CW_USEDEFAULT,WINDOW_WIDTH,WINDOW_HEIGHT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);
Direct3D_Init(hwnd); 这在没有D3D渲染部分的代码时都正确,一旦加上渲染部分的代码,就会出现标题所示的异常,而解决办法就是使用第一种顺序(而在平时,我一般都是写在窗口更新之后的,没有什么问题,这一次真是乌龙了)!