俄罗斯方块(MFC)

 

变量声明:

主要实现代码:

这个程序的思路是这样的:

用以个矩阵来存储游戏区,游戏区中已经落下的标记为1其余清0

当然还有一个活动的 方块 ,这个方块我没有放到地图矩阵中来

在画图时,我开始尝试的是整体刷新( Invalidate

发现闪的厉害,我就改用局部刷新( InvalidateRect)。

我尝试了,当把方块画的小于格子,局部刷新闪屏好一些

但我在这个程序的实现过程中并没有全部用上面的方法,因为效果还是不好,总有闪屏

最重要的是很难控制,出现内存错误了!!!

建议在画动态图时还是使用双缓冲好

什么是双缓冲呢?

就是把地图先画成图,然后再把图插入到界面。

 

还有个是哪个变换的问题,我是使用了一个变换矩阵来转换坐标(如果能计算的方法也不错,本人愚笨,当时怎么算都没算出来,不过我还是找到了变换的公式了,呵呵)

 

在写键盘按键反应时,在DLG类中不能用OnKeyDown

而应用PreTranslateMessage来截取键盘消息

不过不知道何时出现一个奇怪现象,我本想用空格来暂停游戏的,结果一按就退出游戏了,不解。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值