M8 AlphaBlt使用方法

 啥也不说,先上代码

static int nAlpha = 0;
  int step = 10;//这个是用来设置步长的,也就是每次衰减或者增加多少

  DDALPHABLTFX alphatx;
  alphatx.dwSize = sizeof(alphatx);
  
  alphatx.ddargbScaleFactors.alpha = nAlpha;
  pDDSurface->AlphaBlt(NULL, m_pDDSBackground, NULL, DDBLT_WAITNOTBUSY, &alphatx);
  nAlpha = nAlpha + step;// set the alpha value

  if(nAlpha > UCHAR_MAX)
  {
   nAlpha = UCHAR_MAX;
   m_bStartButtonDown =false;//reset the value about transmate
   nAlpha = 0;
   theAPP.m_MainWnd.SwitchScene(1);//Change to scene 1
  }

应该很明显了,就不讲解了。另外提供一个清屏代码

 

{
 DDBLTFX ddbltfx;

 memset(&ddbltfx, 0, sizeof(ddbltfx));
 ddbltfx.dwSize = sizeof(ddbltfx);
 ddbltfx.dwFillColor = 0;
 pSurface->Blt(NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAITNOTBUSY, &ddbltfx);
}

 

很明显啦,其他不用讲

你可能感兴趣的:(M8 AlphaBlt使用方法)