中中努力 中中努力
关注数: 2 粉丝数: 0 发帖数: 86 关注贴吧数: 17
rorateimage未处理异常 直接上代码 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<easyx.h> #include<conio.h> #define PI 3.14159265359 #pragma comment(lib,"Winmm.lib") int main() { initgraph(800,600);//创建窗口 /******下面是变量定义******/ IMAGE gt,gtym,bj,fgt,fgtym,xz,xzsc,xzym,xzymsc,nz; int d,x=100,y=300,c,flage=0,i=0,ty,tf=0; ExMessage m; srand((unsigned)time(NULL));//重新播种随机数 /******播放音乐******/ mciSendString(L"open 音乐\\背景音乐.mp3 alias back", NULL, 0,NULL); mciSendString(L"play back repeat",NULL,0,NULL); /******加载图片******/ loadimage(&bj,L"图片\\背景.jpg"); loadimage(&gt,L"图片\\普通狗头\\狗头.jpg",125,125); loadimage(&gtym,L"图片\\普通狗头\\掩码.jpg",125,125); loadimage(&fgt,L"图片\\普通狗头\\反狗头.jpg",125,125); loadimage(&fgtym,L"图片\\普通狗头\\反掩码.jpg",125,125); loadimage(&xz,L"图片\\普通狗头\\狗头2.jpg",125,125); loadimage(&fgtym,L"图片\\普通狗头\\反掩码.jpg",125,125); loadimage(&nz,L"图片\\普通狗头\\狗头3.jpg",125,125); putimage(0,0,&bj); putimage(100,300,&gtym,SRCAND); putimage(100,300,&gt,SRCPAINT); /******游戏主循环,不给注释******/ for(;;) { HCURSOR hcur = (HCURSOR)LoadImage(NULL, L"图片\\右手emoji.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE); HWND hwnd = GetHWnd(); SetClassLong(hwnd, GCL_HCURSOR, (long)hcur); i=0; flage=0; if(y<300) { for(;y<ty;y++) { peekmessage(&m,1); if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==1) { flage=2; break; } putimage(0,0,&bj); putimage(x,y,&fgtym,SRCAND); putimage(x,y,&fgt,SRCPAINT); Sleep(2); } } d=rand() % 4 + 1; c=rand() %100+1; if(d==1) { if(y-c>=300) { for(;i<c;i++,y--) { peekmessage(&m,1); if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==0) { flage=1; break; } if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==1) { flage=2; break; } putimage(0,0,&bj); putimage(x,y,&fgtym,SRCAND); putimage(x,y,&fgt,SRCPAINT); Sleep(10); } } } if(d==2) { if(y+c<=475) { for(;i<c;i++,y++) { peekmessage(&m,1); if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==0) { flage=1; break; } if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==1) { flage=2; break; } putimage(0,0,&bj); putimage(x,y,&fgtym,SRCAND); putimage(x,y,&fgt,SRCPAINT); Sleep(10); } } } if(d==3) { if(x-c>=0) { for(;i<c;i++,x--) { peekmessage(&m,1); if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==0) { flage=1; break; } if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==1) { flage=2; break; } putimage(0,0,&bj); putimage(x,y,&fgtym,SRCAND); putimage(x,y,&fgt,SRCPAINT); Sleep(10); } } } if(d==4) { if(x+c<=625) { for(;i<c;i++,x++) { peekmessage(&m,1); if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==0) { flage=1; break; } if(m.x-x>=0&&m.x-x<=125&&m.y-y>=0&&m.y-y<=125&&m.lbutton==1) { flage=2; break; } putimage(0,0,&bj); putimage(x,y,&fgtym,SRCAND); putimage(x,y,&fgt,SRCPAINT); Sleep(10); } } } if(flage==1) { rotateimage(&xzsc,&xz,PI/-30); rotateimage(&xzymsc,&fgtym,PI/-30,WHITE); cleardevice(); putimage(0,0,&bj); putimage(x,y,&xzymsc,SRCAND); putimage(x,y,&xzsc,SRCPAINT); } else { peekmessage(&m,1); if(flage==2) { int x1=m.x-x,y1=m.y-y; peekmessage(&m,1); HCURSOR hcur = (HCURSOR)LoadImage(NULL, L"图片\\拿起.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE);//改变鼠标 HWND hwnd = GetHWnd(); SetClassLong(hwnd, GCL_HCURSOR, (long)hcur); peekmessage(&m,1);//获取鼠标信息 for(;m.lbutton!=0;)//拿走狗头 { peekmessage(&m,1); cleardevice(); putimage(0,0,&bj); putimage(m.x-x1,m.y-y1,&fgtym,SRCAND); putimage(m.x-x1,m.y-y1,&nz,SRCPAINT); Sleep(1); } ty=y; x=m.x; y=m.y; } } } } 请问这是为什么
1 下一页