一个让人头大的问题(Win32. DirectX.VC)

wlpwind 2001-05-14 09:38:00
我用vc编的一个Directx游戏程序(win32 Application),在自己的电脑上运行速度正常,
在别人的电脑上反应速度奇慢,而且运行期间整个windows系统都几乎停止响应,请问解决的办法.
程序中两个主要函数如下:
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;

//初始化主窗口
hWnd=InitWindow( hInstance, nCmdShow ) ;
if (hWnd == NULL )
return FALSE;
//初始化DirectDraw环境,并实现DirectDraw功能
if (!InitDDraw())
{
MessageBox(GetActiveWindow(), "初始化DirectDraw过程中出错!请检查你是否正确的安装了DirectX。", "Error", MB_OK );
FreeDDraw();
return FALSE;
}
while(1)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else if(bActive)Flip();

else WaitMessage();
}
}
LRESULT CALLBACK WinProc( HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam )
{ int x=1;
switch( message )
{
case WM_success:
MessageBox(hWnd,"SUCCESS!!","congratulation",NULL);
if(automap)changefile();
break;
case WM_ACTIVATEAPP:
bActive=wParam;
break;
case WM_KEYDOWN://击键消息
............
break;

case WM_DESTROY://退出消息
FreeDDraw();//释放所有DirectDraw对象
PostQuitMessage( 0 );
break;
}

//调用缺省消息处理过程
if((message!=WM_CLOSE)||(MessageBox(hWnd,"你确认要退出游戏 么?","???",MB_OKCANCEL)==IDOK))
return DefWindowProc(hWnd, message, wParam, lParam);
}

...全文
30 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧