如何用Turbo编游戏登陆界面界面

Turbo_c_使用教程_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Turbo_c_使用教程
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C语言小程序:Windows窗口游戏编程模板 - 为程序员服务
C语言小程序:Windows窗口游戏编程模板
很多学习C语言使用的是Turbo C,但是现在已经是桌面程序的天下了。虽然有时候命令符程序也比较好用,但是学习怎么开发窗口应用程序还是必要的。在前面的中你可以学习如何使用C语言编写一个简单的windows下的窗口程序。
今天大笨兔带给大家的是一个windows游戏编程的窗口模板代码,代码如下:
#include &windows.h&
#define WINDOW_CLASS_NAME "win32api"
#define WINDOW_WIDTH 500
#define WINDOW_HEIGHT 500
//检测按键状态
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)
((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)
/* 窗口过程 */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
HWND main_window_handle = NULL; //保存窗口句柄的全局变量
HINSTANCE hinstance_app = NULL; //保存程序实例句柄的全局变量
HDC global_hdc = NULL;
//保存窗口 hdc 的全局变量
int WINAPI
WinMain (HINSTANCE hinstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
/* 窗口句柄 */
/* 保存窗口消息 */
WNDCLASSEX
/* 窗口类 */
/* 要注册窗口类的信息 */
wincl.hInstance =
wincl.lpszClassName = WINDOW_CLASS_NAME;
wincl.lpfnWndProc = WindowP
/* 窗口过程名字 */
wincl.style = CS_DBLCLKS | CS_OWNDC |
CS_HREDRAW | CS_VREDRAW;
/* 窗口风格 */
wincl.cbSize = sizeof (WNDCLASSEX);
/* 使用默认的icon和鼠标光标 */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
/* 没有菜单 */
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
/* 窗口的背景为黑色 */
wincl.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
/* 注册窗口类 */
if (!RegisterClassEx (&wincl))
/* 注册完窗口类后创建一个窗口 hwnd保存窗口句柄 */
hwnd = CreateWindowEx (
/* Extended possibilites for variation */
WINDOW_CLASS_NAME,
/* 窗口类名字 */
"windows游戏编程模板 大笨兔博客--C语言学习交流专业博客",
/* 窗口标题 */
WS_OVERLAPPEDWINDOW | WS_VISIBLE, /* 程序运行就激活窗口 */
/* 窗口相对于桌面的位置 */
WINDOW_WIDTH,
WINDOW_HEIGHT,
/* 窗口高与宽 */
HWND_DESKTOP,
/* 没有菜单 */
hinstance,
/* 保存窗口句柄与程序实例句柄到全局变量 */
main_window_handle =
hinstance_app =
/* 游戏初始化的工作 */
/* 消息循环 */
while(TRUE){
if(PeekMessage (&messages, NULL, 0, 0,PM_REMOVE))
//检测到退出消息
if(WM_QUIT == messages.message)
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
** 游戏主循环
** 你可以执行动画、逻辑等等操作
/* 游戏结束的工作 */
/* 程序返回 */
return messages.wP
/*事件处理函数*/
LRESULT CALLBACK
WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
PAINTSTRUCT
char szHello[]="Hello, C-Free!";
switch (message)
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
EndPaint(hwnd, &ps);
case WM_DESTROY:
PostQuitMessage (0);
return DefWindowProc (hwnd, message, wParam, lParam);
程序的运行效果如下:
windows游戏编程模板
程序和普通的win32窗口程序差不多,但是在处理消息循环中使用的不是GetMessage,而换成了PeekMessage函数.你可以在程序的消息循环中处理游戏的动画、逻辑等等。在消息循环前处理游戏初始化的操作,在消息循环结束后处理资源回收的工作。
这个游戏框架对于C语言开发windows下的小游戏,还是非常好用的。希望对你有用。
参考资料:《windows游戏编程大师技巧》
(全文完)
若非注明,均为原创文章,转载请注明: 转载自
本文链接地址:
做我所爱,记我想记
原文地址:, 感谢原作者分享。
您可能感兴趣的代码

我要回帖

更多关于 游戏登陆界面 的文章

 

随机推荐