CAD工具之家's Archivers

From boitboy on 2013-06-23 14:52:14

小游戏是男人就下100层源代码(C语言-API)+是男人就下100层声音图像资源

一直觉得是男人就下100层挺好玩的,一时兴起就自己做了一个,效果当然没有原来的好,但还是能玩的,主要是我这个人美工方面不怎么样,所以做出来的画面还是差了那么一点点。 游戏截图: 游戏下载:Man100Floor 开发工程+声音图像:Man100Floor源代码 #include <windows.h> #include <stdio.h> #include<stdlib.h> #include <time.h> #include "resource.h" HINSTANCE hInst; const int DLou=6;//楼层数 int CJieTi[DLou+1]={1,2,3,3,4,4,2};//阶梯类型 int LJieTi[DLou+1];//阶梯左边距 int HJieTi[DLou+1];//阶梯高度 int WJieTi[DLou+1];//阶梯宽度 int XJieTi[DLou+1];//阶梯左上脚X坐标 int YJieTi[DLou+1];//阶梯左上脚Y坐标 int TJieTi[DLou+1];//阶梯的个性数据 const int VY_JieTi=5; const int RefreshTime=100;//刷新时间 const int AY_Num=5; const int VX_Num=20; const int VY_TH=26; int zt=0;//游戏是否开始=0等待开始=1正在进行中=2结束了 static char Text[100]; //const int FixTime=12;//计算时间片 int VX=0;//X方向速度 int LAST_VX=0;//上一次X方向速度 int MOVE_RIGHT_TIMER=0;//往右移动的次数 int MOVE_LEFT_TIMER=0;//往左移动的次数 int VY=-VY_JieTi;//Y方向速度 int AY=0;//Y方向的加速度 int ManX;//角色的X坐标 int ManY;//角色的Y坐标 static int OManX,OManY; int pz; int pztime; const int GameWindowWidth=411;//游戏窗口的有效区域宽度 const int GameWindowHeight=535;//游戏窗口的有效区域高度 const int GameTopHeight=23;//游戏的有效区域上部提示信息区宽度 const int GameMainHeight=495;//游戏主区域高度 const int GameMainWidth=376;//游戏主区域宽度 const int ManWidth=16;//角色的宽度 const int ManHeight=16;//角色的高度 const int DYLou=5;//楼层Y方向均分数 const int DJieTi=10;//每层分数 const int DXJieTi=3;//阶梯X方向均分数 const int VX_TS=3; int vx_ts=0; int Life=10;//角色的生命值 int Num=0; int Num_time; static HBITMAP RoleBmp; static HBITMAP DingZiBmp; static HBITMAP LCBmp; static HBITMAP JieTiBmp[6]; static HBITMAP hMemBmp;//图像缓存 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int IsJiaCeng();//判断是否需要加一层阶梯 int on(int); int Init(); int FixMan();//处理人物的函数 HWND hwnd; int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,        LPSTR lpcmdLine,int nCmdShow) {  hInst=hInstance;  static TCHAR szAppName[]=TEXT("DisplayWithScrollBar");  static TCHAR szClassName[]=TEXT("DisplayWithscrlBarClass");  MSG msg;  WNDCLASS wndclass;  wndclass.style=CS_HREDRAW|CS_VREDRAW;  wndclass.lpfnWndProc=WndProc;  wndclass.cbClsExtra=0;  wndclass.cbWndExtra=0;  wndclass.hInstance=hInstance;  wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);  wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);  wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);  wndclass.lpszMenuName=NULL;  wndclass.lpszClassName=szClassName;  //注册窗口类  if(!RegisterClass(&wndclass))  {   MessageBox(NULL,TEXT("This promgrame requires Windows NT"),szAppName,MB_ICONERROR);   return 0;  }  //创建窗口  hwnd=CreateWindow(   szClassName,   TEXT("是男人就下100层"),   //创建窗口时,添加了WS_VSCROLL风格,以增加垂直滚动条   WS_OVERLAPPEDWINDOW,   50,   100,   420,   571,   NULL,   NULL,   hInstance,   NULL);  //显示窗口  ShowWindow(hwnd,nCmdShow);  //更新窗口  UpdateWindow(hwnd);  //消息循环  while(GetMessage(&msg,NULL,0,0))  {   TranslateMessage(&msg);   DispatchMessage(&msg);  }  return msg.wParam; } static HDC hdc,hdc_Role,hdc_JieTi,hdc_lp,hdc_dz; void Draw(HDC hdc) {  HPEN hpen_black;  hpen_black=CreatePen(PS_SOLID,2,RGB(255,255,255));  int RoleSrcX=128;  int RoleSrcY=0;  int i;  SelectObject(hdc,hpen_black);  SetTextColor(hdc,RGB(207,49,211));  SetBkMode(hdc,TRANSPARENT);  sprintf(Text,"LIFE:%2d 第%6d层,作者:游荡男孩(site:www.cadgj.com)",Life,Num);  TextOut(hdc,25,0,Text,strlen(Text));  /*绘制游戏界面的边界*/  MoveToEx(hdc,0,GameWindowHeight,NULL);  LineTo(hdc,GameWindowWidth,GameWindowHeight);  MoveToEx(hdc,GameWindowWidth,GameWindowHeight,NULL);  LineTo(hdc,GameWindowWidth,0);  /*开始载入人物*/  if(zt==1)  {   //正在进行游戏   if(VX==0)   {    //静止    if(Life>3)    {     RoleSrcX=128;     RoleSrcY=0;    }    else    {     RoleSrcX=128;     RoleSrcY=16;    }   }   else if(VX>0)   {    if(LAST_VX>0)    {     MOVE_RIGHT_TIMER+=1;     if(MOVE_RIGHT_TIMER==4)     {      MOVE_RIGHT_TIMER=0;     }    }    else    {     MOVE_RIGHT_TIMER=0;    }    //向右运动    RoleSrcX=MOVE_RIGHT_TIMER*16;    RoleSrcY=16;    if(Life<=4)    {     RoleSrcX+=16*4;    }   }   else   {    //向左运动    if(LAST_VX<0)    {     MOVE_LEFT_TIMER+=1;     if(MOVE_LEFT_TIMER==4)     {      MOVE_LEFT_TIMER=0;     }    }    else    {     MOVE_LEFT_TIMER=0;    }    RoleSrcX=MOVE_LEFT_TIMER*16;    RoleSrcY=0;    if(Life<=4)    {     RoleSrcX+=16*4;    }   }   LAST_VX=VX;  }  else  {   RoleSrcX=128;   RoleSrcY=0;  }  SelectObject(hdc_Role,RoleBmp);  BitBlt(hdc,OManX,OManY,16,16,hdc_Role,RoleSrcX,RoleSrcY,SRCCOPY);  /*开始载入左右边带动条*/  SelectObject(hdc_lp,LCBmp);  BitBlt(hdc,0,GameTopHeight,(GameWindowWidth-GameMainWidth)/2,GameWindowHeight-GameTopHeight,hdc_lp,0,0,SRCCOPY);  BitBlt(hdc,GameWindowWidth-(GameWindowWidth-GameMainWidth)/2,GameTopHeight,(GameWindowWidth-GameMainWidth)/2,GameWindowHeight-GameTopHeight,hdc_lp,0,0,SRCCOPY);  /*绘制上面的钉子*/  SelectObject(hdc_dz,DingZiBmp);  BitBlt(hdc,(GameWindowWidth-GameMainWidth)/2,GameTopHeight,GameMainWidth,GameWindowHeight-GameTopHeight-GameMainHeight,hdc_dz,5,0,SRCCOPY);  /*开始绘制阶梯*/  for(i=0;i<=DLou-1;i++)  {   if(CJieTi[i]==0)   {    SelectObject(hdc_JieTi,JieTiBmp[0]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY);   }   else if(CJieTi[i]==1)   {    SelectObject(hdc_JieTi,JieTiBmp[1]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY);   }   else if(CJieTi[i]==2)   {    SelectObject(hdc_JieTi,JieTiBmp[2]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY);   }   else if(CJieTi[i]==3)   {    SelectObject(hdc_JieTi,JieTiBmp[3]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY);   }   else if(CJieTi[i]==4)   {    SelectObject(hdc_JieTi,JieTiBmp[4]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY);   }   else   {    SelectObject(hdc_JieTi,JieTiBmp[0]);    //BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);    BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,NOTSRCCOPY);   }  }  if(zt==0)  {   SetBkColor(hdc,RGB(0,0,0));   SetBkMode(hdc,OPAQUE);   sprintf(Text,"按任意键开始游戏");   TextOut(hdc,125,250,Text,16);  }  if(zt==2)  {   SetBkColor(hdc,RGB(0,0,0));   SetBkMode(hdc,OPAQUE);   sprintf(Text,"按任意键重新开始游戏");   TextOut(hdc,120,250,Text,20);  } } LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) {  RECT rect;  RECT rectClip;  int Width,Height;  static HDC MemDC;  HDC dcMemory;  PAINTSTRUCT ps;  int i;  static HPEN hpen_black,hpen_blue,hpen_red,hpen_gray;  static HBRUSH hbrush_black,hbrush_blue,hbrush_red,hbrush_gray;  static int nClientWidth,nClientHeight; //窗口宽高  hpen_black=CreatePen(PS_SOLID,2,RGB(255,255,255));  HBITMAP bmpMemory;  switch(message)  {  case WM_CREATE:   /*DC初始化*/   hdc=GetDC(hwnd);   GetClientRect(hwnd,&rect);   nClientWidth=rect.right-rect.left ;   nClientHeight=rect.bottom -rect.top ;   hdc_Role=CreateCompatibleDC(hdc);   hdc_JieTi=CreateCompatibleDC(hdc);   hdc_lp=CreateCompatibleDC(hdc);   hdc_dz=CreateCompatibleDC(hdc);   MemDC=CreateCompatibleDC(hdc);   /*初始化临时画布 必须*/   hMemBmp=CreateCompatibleBitmap(hdc,nClientWidth,nClientHeight);   SelectObject(hdc_Role,hMemBmp);   SelectObject(hdc_JieTi,hMemBmp);   SelectObject(hdc_lp,hMemBmp);   SelectObject(hdc_dz,hMemBmp);   /*载入人物的图片*/   RoleBmp= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_MAN),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   JieTiBmp[0]= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_BLUEFLOOR),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   JieTiBmp[1]= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_SPRING),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   JieTiBmp[2]= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_NAILFLOOR),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   JieTiBmp[3]= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_TRANSPORT_RIGHT),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   JieTiBmp[4]= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_TRANSPORT_LEFT),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   LCBmp= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_TRANSPORT),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   DingZiBmp= (HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP_NAIL),    IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);   Init();   return 0;  case WM_PAINT:   hdc=BeginPaint(hwnd,&ps);   ::GetClipBox(hdc,&rectClip);   Width=abs(rectClip.right-rectClip.left);   Height=abs(rectClip.bottom-rectClip.top);   dcMemory=CreateCompatibleDC(hdc);   ::SetBkColor(dcMemory,::GetBkColor(hdc));   bmpMemory=::CreateCompatibleBitmap(hdc,  Width, Height);   ::SelectObject(dcMemory,bmpMemory);           /*设置内存DC的起始点*/     //dcMemory.SetViewportOrg(-1*rectClip.left, -1*rectClip.top);       /*粉刷背景*/     //dcMemory.FillSolidRect(&rectClip, pDC->GetBkColor());   ::Draw(hdc);   //::BitBlt(hdc,rectClip.left, rectClip.top, abs(rectClip.right-rectClip.left), abs(rectClip.bottom-rectClip.top),         //dcMemory, rectClip.left, rectClip.top, SRCCOPY);   DeleteObject(bmpMemory);   ::DeleteObject(dcMemory);     ReleaseDC(hwnd,hdc);   EndPaint(hwnd,&ps);   return 0;  case WM_TIMER:   Num_time++;   //时间函数,重难点   for(i=0;i<=DLou-1;i++)   {    YJieTi[i]-=VY_JieTi;    if(CJieTi[i]==3||CJieTi[i]==4)    {     TJieTi[i]++;     if(TJieTi[i]==3)      TJieTi[i]=0;    }   }   if(OManX+VX+vx_ts<(GameWindowWidth-GameMainWidth)/2)    ManX=(GameWindowWidth-GameMainWidth)/2;   else if(OManX+VX+vx_ts+ManWidth>GameWindowWidth-(GameWindowWidth-GameMainWidth)/2)    ManX=GameWindowWidth-(GameWindowWidth-GameMainWidth)/2-ManWidth;   else    ManX=OManX+VX+vx_ts;   VY+=AY;   ManY=OManY+VY;   if(ManY>GameWindowHeight)    Life=0;   if(ManY<GameWindowHeight-GameMainHeight)    Life=0;   /*最难的人物处理函数*/   IsJiaCeng();   FixMan();   if(Life==0)   {    KillTimer(hwnd,1);    zt=2;   }   RECT invalidRect;   invalidRect.left=(GameWindowWidth-GameMainWidth)/2;   invalidRect.right=GameWindowWidth-(GameWindowWidth-GameMainWidth)/2;   invalidRect.top=GameTopHeight;   invalidRect.bottom=GameWindowHeight;   InvalidateRect(hwnd,&invalidRect,true);   RECT invalidRect1;   invalidRect1.left=(GameWindowWidth-GameMainWidth)/2;   invalidRect1.right=GameWindowWidth-(GameWindowWidth-GameMainWidth)/2;   invalidRect1.top=0;   invalidRect1.bottom=GameTopHeight;   InvalidateRect(hwnd,&invalidRect1,true);   UpdateWindow(hwnd);   return 0;  case WM_KEYDOWN:   if(zt!=1)   {    SetTimer(hwnd,1,RefreshTime,NULL);    zt=1;    Init();   }   if(zt==1)   {    switch(wParam)    {    case VK_LEFT:VX=-VX_Num;break;    case VK_RIGHT:VX=VX_Num;break;    }   }   return 0;  case WM_KEYUP:   switch(wParam)   {   case VK_LEFT:VX=0;break;   case VK_RIGHT:VX=0;break;   }   return 0;  case WM_DESTROY:   //释放DC   ReleaseDC(hwnd,hdc_Role);   ReleaseDC(hwnd,hdc_JieTi);   ReleaseDC(hwnd,hdc_lp);   ReleaseDC(hwnd,hdc_dz);   ReleaseDC(hwnd,MemDC);   PostQuitMessage(0);   return 0;  }  return DefWindowProc(hwnd,message,wParam,lParam); } int FixMan() {  int JiaoX=0;  int JiaoY=0;  int i;  /*最难的碰撞部分已经解决*/  for(i=0;i<DLou;i++)  {   if(OManY+ManHeight<YJieTi[i]+VY_JieTi&&ManY+ManHeight>YJieTi[i]&&JiaoY==0)    JiaoX=OManX+int(float((YJieTi[i]+VY_JieTi-OManY-ManHeight)*(ManX-OManX))/float(ManY-OManY+VY_JieTi));   if(JiaoX>XJieTi[i]+WJieTi[i]||JiaoX+ManWidth<XJieTi[i])   {    JiaoX=0;    JiaoY=0;   }   else   {    JiaoY=YJieTi[i];    pz=i;    pztime=1;    break;   }   if(OManY+ManHeight==YJieTi[i]+VY_JieTi&&ManY+ManHeight==YJieTi[i])   {    if(ManX>XJieTi[i]+WJieTi[i]||ManX+ManWidth<XJieTi[i])    {     VY=10;     AY=AY_Num;     VX=0;     pz=DLou;     pztime=0;     vx_ts=0;    }    else    {     AY=0;     VY=-VY_JieTi;     pz=i;     pztime++;    }   }  }  if(JiaoX==0&&JiaoY==0)  {   OManX=ManX;   OManY=ManY;  }  else  {   OManX=JiaoX;   OManY=JiaoY;  }  if(pz!=DLou)   on(pz);  sprintf(Text,"%d%d",pz,CJieTi[pz]);  return 0; } /*步上阶梯的函数*/ int on(int k) {  int i=k;  /*碰到灰色阶梯*/  if(CJieTi[i]==5)  {   if(pztime%4==1)    TJieTi[i]=rand()%10;   if((TJieTi[i]==0||TJieTi[i]==1||TJieTi[i]==2)&&pztime%4==1)   {    OManY=YJieTi[i]+1;    VY=0;    AY=AY_Num;    pz=DLou;    pztime=0;   }   else   {    OManY=YJieTi[i]-ManHeight;    VY=-VY_JieTi;    AY=0;    pz=i;    pztime++;   }  }  /*遇到反时针方向的滑轮,已经解决*/  else if(CJieTi[i]==4)  {   OManY=YJieTi[i]-ManHeight;   VY=-VY_JieTi;   vx_ts=-VX_TS;   AY=0;  }  /*遇到顺时针方向的滑轮,已经解决*/  else if(CJieTi[i]==3)  {   OManY=YJieTi[i]-ManHeight;   VY=-VY_JieTi;   vx_ts=VX_TS;   AY=0;  }  /*碰上弹簧,已经解决*/  else if(CJieTi[i]==1)  {   OManY=YJieTi[i]-ManHeight;   VY=-VY_TH;   VX=0;   AY=AY_Num;   pz=DLou;  }  /*碰上钉子板*/  else if(CJieTi[i]==2)  {   OManY=YJieTi[i]-ManHeight;   VY=-VY_JieTi;   AY=0;   if(pztime%10==1)    Life-=3;   if(Life<0)    Life=0;  }  /*碰上蓝色板部分,已经解决*/  else{   OManY=YJieTi[i]-ManHeight;   VY=-VY_JieTi;   AY=0;   if(pztime==1&&Life>0&&Life<10)    Life++;  }  return 0; } /*是否需要加一个阶梯的函数,已经解决的没有问题了*/ int IsJiaCeng() {  int i,j;  if(YJieTi[0]<=GameWindowHeight-GameMainHeight)  {   Num++;   for(i=0;i<DLou-1;i++)   {    YJieTi[i]=YJieTi[i+1];    XJieTi[i]=XJieTi[i+1];    HJieTi[i]=HJieTi[i+1];    WJieTi[i]=WJieTi[i+1];    CJieTi[i]=CJieTi[i+1];    LJieTi[i]=LJieTi[i+1];    TJieTi[i]=TJieTi[i+1];    if(pz!=DLou&&pz>0)     pz-=1;   }   j=rand()%DJieTi;   if(j==0||j==1||j==2||j==3)    CJieTi[DLou-1]=0;   else if(j==4)    CJieTi[DLou-1]=1;   else if(j==5)    CJieTi[DLou-1]=2;   else if(j==6)    CJieTi[DLou-1]=3;   else if(j==7)    CJieTi[DLou-1]=4;   else    CJieTi[DLou-1]=5;   LJieTi[DLou-1]=rand()%(DJieTi-DXJieTi+1);   XJieTi[DLou-1]=LJieTi[DLou-1]*GameMainWidth/DJieTi+(GameWindowWidth-GameMainWidth)/2;   YJieTi[DLou-1]=YJieTi[DLou-2]+GameMainHeight/DLou;   HJieTi[DLou-1]=GameMainHeight/(DYLou*DLou);   WJieTi[DLou-1]=GameMainWidth*DXJieTi/DJieTi;   if(CJieTi[DLou-1]==5)    TJieTi[DLou-1]=rand()%10;   else    TJieTi[DLou-1]=0;   return 1;  }  else   return 0; } int Init()//初始化游戏 {  int i,j;  while(CJieTi[2]!=0&&CJieTi[3]!=0&&CJieTi[4]!=0&&CJieTi[5]!=0)  {   srand( (unsigned)time( NULL ) );   //设置随机种子保证每次随机的结果均不相同   for(i=0;i<=DLou-1;i++)   {    j=rand()%DJieTi;    if(j==0||j==1||j==2||j==3)     CJieTi[i]=0;    else if(j==4)     CJieTi[i]=1;    else if(j==5)     CJieTi[i]=2;    else if(j==6)     CJieTi[i]=3;    else if(j==7)     CJieTi[i]=4;    else     CJieTi[i]=5;   }   //产生随机数组  }  //产生合理的阶梯类型数组  for(i=0;i<=DLou-1;i++)  {   LJieTi[i]=rand()%(DJieTi-DXJieTi+1);   //产生阶梯布置的随机数组   HJieTi[i]=GameMainHeight/(DYLou*DLou);   WJieTi[i]=GameMainWidth*DXJieTi/DJieTi;   XJieTi[i]=LJieTi[i]*GameMainWidth/DJieTi+(GameWindowWidth-GameMainWidth)/2;   YJieTi[i]=GameWindowHeight-GameMainHeight+i*GameMainHeight/DLou+(DYLou-1)*GameMainHeight/(DYLou*DLou);  }  /*计算出初始角色状态*/  for(i=0;i<=3;i++)  {   if(CJieTi[i+2]==0)   {    OManX=XJieTi[i+2]+(WJieTi[i+2]-ManWidth)/2;    OManY=YJieTi[i+2]-ManWidth;    pz=i+2;    pztime=0;    //sprintf(Text,"%d %d",ManX,ManY);    //MessageBox(hwnd,Text,Text,MB_OK);    break;   }   //计算出角色的位置  }  /*初始化人物的运动性质*/  VX=0;  AY=0;  VY=-VY_JieTi;  /*初始化各个阶梯的个性数据*/  for(i=0;i<=DLou;i++)  {   if(CJieTi[i]==5)    TJieTi[i]=rand()%10;   else    TJieTi[i]=0;  }  Life=10;  SetTimer(hwnd,1,RefreshTime,NULL);//设置刷新计时器  return 0; }

查看完整版本: 小游戏是男人就下100层源代码(C语言-API)+是男人就下100层声音图像资源

From 陈文 on 2015-11-06 14:22:55

要引用什么东西啊,我是个新手,代码TextOutW不能将参数4从"char[100]"转换为"LPCWSTR",和IntelliSense:"char*"类型的实参与"LPCWSTR"类型的型参不兼容,用的是visual studio 2010旗舰版运行的,qq:1317729347,求帮忙解决下

From boitboy on 2015-11-09 08:25:26

VS2005以上的版本使用的是UNICODE版本的API, 所以需要在所有的字符串上加上_T(""), char要换成TCHAR使用,如果你不想改的化,可以将项目属性的UNICODE改为宽字节就可以了。

Tags:


©CAD工具之家
创办于:2013年5月24日