• 大小: 144KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: C/C++
  • 标签:

资源简介

win32下的一个小鸟飞翔的例子 有源代码 ,可以看看

资源截图

代码片段和文件信息

#include 
#include “resource.h“
#pragma comment(lib“MSIMG32.lib“)
#define KUAN 212
#define GAO 283
#define YANSHIZITAI 5
#define YANSHIBIANSUX 16
#define YANSHIBIANSUY 16
#define XIAONIAOSHUMU 30
#define SUOFANG 40
HINSTANCE hInst;
int cxcy;
RECT rt;
class _XiaoNiao
{
static HBITMAP hBitMap;
static HDC hdcMem;
POINT ptWeiZhi;//位置
int iZiTai;//姿态
int iYanShiZiTai;
int iYanShiBianSuX;
int iYanShiBianSuY;
int iFangXiang;//方向
int iSuDu_xiSuDu_y;//速度
int iJiaSuDu_xiJiaSuDu_y;//加速度
public:
_XiaoNiao();
~_XiaoNiao()
{
};
static void ChuShiHua();
void Fei();
void Draw(HDC hdc);

};
HBITMAP _XiaoNiao::hBitMap;
HDC _XiaoNiao::hdcMem;
_XiaoNiao::_XiaoNiao()
{
iZiTai=0;
iFangXiang=0;
ptWeiZhi.x=rand()%400+100;
ptWeiZhi.y=rand()%300+100;
iSuDu_x=rand()%6;
iSuDu_y=rand()%6;
iJiaSuDu_x=1;
iJiaSuDu_y=1;

}
void _XiaoNiao::ChuShiHua()
{
hdcMem=CreateCompatibleDC(NULL);
hBitMap=LoadBitmap(hInstMAKEINTRESOURCE(IDB_BITMAP1));
Selectobject(hdcMemhBitMap);
SetStretchBltMode(hdcMemCOLORONCOLOR);
}
void _XiaoNiao::Fei()
{
iYanShiBianSuX--;
iYanShiBianSuY--;
if(iYanShiBianSuX<=0)
{
iYanShiBianSuX=YANSHIBIANSUX;
iJiaSuDu_x=rand()%4-3;
iSuDu_x+=iJiaSuDu_x;
}
if(iYanShiBianSuY<=0)
{
iYanShiBianSuY=YANSHIBIANSUY;
iJiaSuDu_y=rand()%4-3;
iSuDu_y+=iJiaSuDu_y;
}
if(abs(iSuDu_x)>6)
{
iSuDu_x=6;
}
if(abs(iSuDu_y)>6)
{
iSuDu_y=6;
}
ptWeiZhi.x+=iSuDu_x;
ptWeiZhi.y+=iSuDu_y;

if((ptWeiZhi.x>rt.right-SUOFANG/2)||(ptWeiZhi.x {
iSuDu_x=-iSuDu_x;
ptWeiZhi.x+=iSuDu_x;
}
if((ptWeiZhi.y>rt.bottom-SUOFANG/2)||(ptWeiZhi.y {
iSuDu_y=-iSuDu_y;
ptWeiZhi.y+=iSuDu_y;
}
if(iSuDu_x>0)iFangXiang=0;
else iFangXiang=1;
iYanShiZiTai--;
if(iYanShiZiTai<=0)
{
iYanShiZiTai=YANSHIZITAI;
iZiTai^=1;
}
}
void _XiaoNiao::Draw(HDC hdc)
{
// Rectangle(hdcptWeiZhi.x-SUOFANGptWeiZhi.y-SUOFANGptWeiZhi.x+SUOFANGptWeiZhi.y+SUOFANG);
TransparentBlt(hdcptWeiZhi.x-SUOFANG/2ptWeiZhi.y-SUOFANG/2SUOFANGSUOFANG
hdcMemiZiTai*KUANiFangXiang*GAOKUANGAO0xff);
}

_XiaoNiao XiaoNiaos[XIAONIAOSHUMU];
BOOL WINAPI Pro1(HWND hWndUINT msgWPARAM wParamLPARAM lParam)
{
HDC hdc;
static HDC hdcMem;
static HBITMAP hBitMap;
int i;
switch(msg)
{
case WM_INITDIALOG:
SetTimer(hWnd140NULL);
GetClientRect(hWnd&rt);
hdc=GetDC(hWnd);
hdcMem=CreateCompatibleDC(NULL);
hBitMap=CreateCompatibleBitmap(hdcrt.rightrt.bottom);
ReleaseDC(hWndhdc);
Selectobject(hdcMemhBitMap);
return 0;
case WM_TIMER:
Selectobject(hdcMemGetStockobject(BLACK_BRUSH));
PatBlt(hdcMem00rt.rightrt.bottomPATCOPY);

// Rectangle(hdcMemSUOFANG/2SUOFANG/2rt.right-SUOFANG/2rt.bottom-SUOFANG/2);
for (i=0;i {
XiaoNiaos[i].Fei();
    XiaoNiaos[i].Draw(hdcMem);
}

hdc=GetDC(hWnd);
BitBlt(hdc00rt.rightrt.bottomhdcMem

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     243326  2011-07-14 00:33  2.bmp

     文件      12918  2011-07-14 00:42  bird.ico

     文件        546  2011-07-14 00:42  resource.h

     文件     288380  2011-07-14 00:42  script1.aps

     文件       2594  2011-07-14 00:42  script1.rc

     文件       3443  2011-07-14 00:57  飞翔的小鸟.cpp

     文件       4399  2011-07-14 00:42  飞翔的小鸟.dsp

     文件        528  2011-07-13 22:40  飞翔的小鸟.dsw

     文件      50176  2011-07-14 00:58  飞翔的小鸟.ncb

     文件      48640  2011-07-14 00:58  飞翔的小鸟.opt

     文件       1160  2011-07-14 00:57  飞翔的小鸟.plg

----------- ---------  ---------- -----  ----

               656110                    11


评论

共有 条评论

相关资源