MFC实现像素鸟功能和一些改进

MFC实现像素鸟功能和一些改进

暑期实训要求用MFC来实现像素鸟功能和一些特别的功能(比如生命值加血道具之类的),经过5天的不懈努力终于完成了,写在这里留作纪念,供大家参考与学习。缺点就是代码没有封装,看起来代码很凌乱,要进行修改和改进的话特别麻烦,在后续我也会尝试的去封装后再上传。我现在写一些有用的东西,在最后附上文件。
我的代码在思路上借鉴了CSDN上这位博主的代码
链接:mfc编写的像素鸟flappy bird 小游戏-FP_Beta
一、 主要的思路就是:
1.设置定时器去刷新Onpaint()函数,在OnPaint()里进行图片的绘制以及碰撞检测以及很多功能;
2.设置变量当开关,结合if语句来控制声音和图片刷新的时间。

二、 然后就是我在CSDN找到的一些有用的函数和方法,整理分享给大家:

音乐播放:用PlaySound函数会出现不可以同时播放的问题并且也不支持MP3文件,我的同学找到了一个很不错的办法来解决了整个问题。
首先是在Dlg.h文件里添加代码:

 #include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"WINMM.LIB")
//上面的这三个我用的时候因为用了PalySound()的关系我全加了,但是我有个同学只加了下面的两行就一直报错,具体怎么回事儿我也不清楚。
#include <vfw.h>
#pragma comment(lib,"vfw32.lib")//播放MP3,

然后在想要插入音乐的地方加入代码:

HWND hwnd = MCIWndCreate(m_hWnd, NULL, WS_POPUP | MCIWNDF_NOPLAYBAR | MCIWNDF_NOMENU, _T("文件路径"));
 ::ShowWindow(hwnd, SW_HIDE);
 MCIWndSetVolume(hwnd, 1000); //设置音量
 MCIWndPlay(hwnd);  //播放(异步)``

关闭音乐的代码片段:

   mciSendCommand(MCI_ALL_DEVICE_ID, MCI_CLOSE, 0, 0);

按钮皮肤的更改:
(1)先添加一个按钮
(2)把按钮属性中的Owner Draw改为True

(3)为按钮添加一个CBitmapButton的变量我添加的变量名字是m_button1(最好在类向导中添加)
(4)在资源视图中右键添加资源然后选中Bitmap点击导入
导入后记住图片对应的ID。
选记得选所有文件
在这里插入图片描述
(5)在OnIitDlg()里添加:

// TODO: 在此添加额外的初始化代码
 //按钮换肤
 m_button1.LoadBitmaps(IDB_BITMAP4, IDB_BITMAP4);

第一个参数是不点击显示的画面,第二个是点击是显示的画面。

这就是我要分享有用的函数。

三、下面的是我的项目演示:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

很多变量sc开头是我的ID缩写,注释写的不是很多见谅。源代码由于资源路径和资源上传等问题,我就全部放在了文件中。不需要积分,仅供大家学习下载使用,谢绝转载。
链接:MFC像素鸟代码文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值