建立一个win32窗口(用于开发游戏)

这篇博客介绍了如何利用Win32 API建立一个适用于游戏开发的窗口,强调了游戏窗口与普通软件窗口的不同,主要关注窗口的创建、消息处理函数的定义以及消息循环的重要性。在WinMain函数中,作者详细解释了窗口类的注册、消息循环的实现以及如何确保游戏以60帧/秒的速度运行。最后,提到了消息处理函数的定义及其在游戏开发中的作用。
摘要由CSDN通过智能技术生成

       随着游戏引擎的发展,我们能越来越方便的制作各种简单好玩的游戏,但是,对于一些古老的,简单粗暴的方法,我们是不是有必要回顾一下呢,这里,我将展示怎样建立一个些游戏用的windows窗口。

       游戏开发和软件开发还是不同的,首先,游戏 的windows窗口,我们只是要一个窗口而已,至于里面的菜单栏等等等等,我们有自己的UI设计,如果使用win32 的窗口的菜单的话,估计就没有人玩了,还有一点,众所周知,游戏是一个大循环,没错,在没有结束游戏之前,游戏理想状态下,以每秒钟60次的速度不断循环着运行代码,所以,我们需要将消息队列写成循环的,接下来,我会大致讲一下Win32窗口的创建过程

       1.声明一些变量,什么??#include<Windows.h>??好吧,这个大家应该都知道吧,应该是常识。我把这些东西都写在Utility,h里面,确实,就这点东西再新建个文件有点兴师动众,但是,这是一个习惯,以后会把所有工具类 的东西都写在Utility里,这里只不过是我们现在用到的东西少而已,但是这个意识必须要从头培养,好吧,我们来说正题

       1.声明一些变量,这里我们需要创建一个窗口实例句柄,和一个应用程序实例句柄,窗口实例句柄用来标识这个窗口的id号,而窗口实例句柄用来标识应用程序的一个实例,一个程序可以有多个实例,那么,实例是什么呢,比如啊,你打开一个程序,就是一个实例,然后你有开了一个相同的程序,又多了一个实例,你多开了好几个,就出现了这一个应用程序的多个实例

HWND g_hWnd;		//handle:句柄(标识符) WND:Window
					//窗口句柄,计算机用于唯一标识窗口的ID号

HINSTANCE g_hInstance;	//Instance:实例
						//应用程序实例句柄

       2.声明一个消息处理函数,这个函数的作用就是处理消息的,消息这个东西我会在后面消息机制那篇博客里说明,这个函数的格式是固定的,对没错,不能改,前面的CALLBACK 意思是这个函数是回调函数,什么事回调函数呢,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数,当然这是百度说的,总之就是这个函数被一个指针指着,而这个指针在别的函数里被调用了


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值