MFC游戏开发笔记四 键盘响应和鼠标响应:让人物动起来2014-11-03在上一节笔记里,我们讲解了贴图的透明效果的实现,使得画面变得美观起来,但是大家也知道,游戏还有一个非常重要的部分:交互性。大家在玩游戏的时候,按下键盘,点击鼠标,游戏中的人物都会根据自己的操作而做出不同的行为,或者走动,或者攻击,或者释放技能,这些都是通过键盘响应和鼠标响应来实现的,通过学习今天的内容,大家就可以让自己的程序中人物接收指令,动起来了。好了,就让我们开始今天的学习吧。一、键盘响应1.键盘消息当我们在键盘上进行了操作后,那么系统便会接收到对应的键盘消息,下面我们列出最常用的2种键盘消息:WM_KEYDOWN 按下按键的消息WM_KEYUP 松开按键消息当某一按键被按下时,伴随着这个操作所产生的是WM_KEYDOWN,当松开时产生WM_KEYUP消息。当程序接收到这些消息时。便可由虚拟键码的信息来得知是哪个按键被按下。2.添加键盘响应函数MFC不仅仅只是一个封装好WIN32 API的框架,它还提供了很多工具,来实现可视化的开发,减少程序员的工作量,比如添加键盘响应程序我们就可以通过“类向导“来进行。大家点击VS2010菜单栏上的 项目->类向导 即可打开类向导。

大家需要注意的是“类型“这一栏里要选择CChildView,其他的默认就好。我们需要添加键盘处理消息,所以要选择”消息“,雾央已经用红色框出来了。在消息中大家搜索到WM_KEYDOWN后,双击它就可以添加进消息了,然后点确就可以了。完成上述步骤后,大家会发现在CChildView.cpp中已经多出了一段函数名为void CChildView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)的代码大家把函数里面的内容可以都删掉,我们会自己写处理程序。