分享
 
 
 

vc。net 游戏开发 第一章 创建窗口

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我写程序的时间不长也就4年但是啥都作啥都不精通,所以现在吗打算认定一个坚持下去,哪怕辞职我也愿意,现在和我们一起开始把。

游戏的分类我就不说了前人写了一大堆,我先按照我的想法往下写,有部分是别人的我学习发到这,有部分是自己的成果,呵呵成果阿

如果你对VC.NET的使用不会先去买本书看看,如果你有vc6.0的使用经验那就不成问题我觉得是大同小异,只是在机理上不一样。

以下是创建游戏窗口的代码,我注释的非常清晰,如有疑问去查MSDN。

拷贝及可运行,程序执行的结果是全屏幕红色背景,单击鼠标右键弹出消息窗口,按ESC键退出。

这是我的运行环境,不是显得晃,使有些人在知道这些后能更好的学习。

说到这了也许有人会问这不都是一样的代码吗?从哪抄来的?是啊写窗口的建立都是这样大同小异,没啥区别,再说了微软都给你订制好了你还能有多大的创造余地?只能是算法上可能不同而已。不过学习吗就是借鉴他人的思想,完成自己的理想。再次对那些前辈牛人之以崇高的敬意,后面的文章我会把一些代码的出处写上去。

在这解释一下,好多初学程序的不明白算法是啥,课本上说一段程序就是一个算法,你写的任意程序都是算法,甚至你感觉不到,如一个循环读取数据库记录的程序那也是算法,就好比万物皆对象一样,程序皆算法。

我说的只是我的理解,课本上的有些东西我也忘了,不对之处多多包涵,有啥意见只管说,这样是帮助我进步呢,呵呵。

//****************************************************************************

//说明:

// 开发环境:.NET 7.1.3091

// 操作系统:WindowsXP SP2

// S D K:Microsoft DirectX 9.0 SDK

// computer:

// CPU::Inter 2.6C

// 内存:1G DDR400

// 显卡:FX5900 128MB

// 硬盘:120G*2 8MB 7200

// 主板:Inter865PE

//****************************************************************************

#include<windows.h>

//函数申明

BOOL InitWindow(HINSTANCE hInstance,int nCmdShow);

LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);

//变量说明

HWND hWnd;

//**********************************************************************

//函数:WinMain()

//功能:Windows 程序入口函数。创建主窗口,处理消息循环

//日期:2005.1.3 22:34

//编写人:张小斌

//**********************************************************************

int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)

//hInstance:表示该应用程序的句柄

//hPrevInstance:为了保持与16位windows应用程序的兼容性

//lpCmdLine:指向命令行参数字符串的指针

//nCmdShow:指定应用程序窗口显示方式的整数

{

if(!InitWindow(hInstance,nCmdShow))return FALSE;

//创建主窗口,如果创建不成功则返回FALSE并同时退出程序

MSG msg;

//进入消息循环

for(;;)

{

if(PeekMessage(& msg,NULL,0,0,PM_REMOVE))

{

if(msg.message==WM_QUIT)break;

TranslateMessage(& msg);

DispatchMessage(& msg);

}

}

return msg.wParam;

}

//*******************************************************************

//函数:InitWindow()

//功能:创建窗口

//日期:2005.1.3 22:43

//编写人:张小斌

//*******************************************************************

static BOOL InitWindow(HINSTANCE hInstance,int nCmdShow)

{

//定义窗口风格:

WNDCLASS wc;

wc.style=NULL;//窗口的风格

wc.lpfnWndProc=(WNDPROC)WinProc;//窗口消息处理函数的指针

wc.cbClsExtra=0;//分配给窗口类结构之后的额外字节数

wc.cbWndExtra=0;//分配给窗口实例之后的额外的字节数

wc.hInstance=hInstance;//窗口所对应的应用程序的句柄

wc.hIcon=NULL;//窗口图标

wc.hbrBackground=CreateSolidBrush(RGB(100,0,0));//暗红色背景

wc.lpszMenuName=NULL;//窗口的菜单资源名称

wc.lpszClassName="My_Test";//窗口类的名称

RegisterClass(&wc);//注册窗口

//按所给参数创建窗口

hWnd = CreateWindow("My_Test",

"My First program",//窗口标题

WS_POPUP|WS_MAXIMIZE,0,0,

GetSystemMetrics(SM_CXSCREEN),//此函数返回屏幕宽度

GetSystemMetrics(SM_CYSCREEN),//此函数返回屏幕高度

NULL,NULL,hInstance,NULL);

if(!hWnd)return FALSE;

ShowWindow(hWnd,nCmdShow);//显示窗口

UpdateWindow(hWnd);//刷新窗口

return TRUE;

}

//*******************************************************************

//函数:WinProc()

//功能:处理窗口消息

//日期:2005.1.3 22:56

//编写人:张小斌

//*******************************************************************

LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)

{

switch(message)

{

case WM_KEYDOWN://击键消息

switch(wParam)

{

case VK_ESCAPE:

MessageBox(hWnd,"ESC 键按下了!确定后推出!","KEYboard",MB_OK);

PostMessage(hWnd,WM_CLOSE,0,0);//给窗口发送WM_CLOSE消息break;

}

return 0;//处理完一个消息后返回0

case WM_CLOSE://准备退出

DestroyWindow(hWnd);//释放窗口

return 0;

case WM_RBUTTONDOWN:

MessageBox(hWnd,"鼠标右键按下了!","Mouse",MB_OK);

return 0;

case WM_DESTROY://如果窗口被释放...

PostQuitMessage(0);//给窗口发送WM_QUIT消息

return 0;

}

//调用缺省消息处理过程

return DefWindowProc(hWnd,message,wParam,lParam);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有