⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alpha.cpp

📁  ?跳舞机的源代码 自己修改一下 编译没有问题
💻 CPP
字号:
//alpha.cpp
#include<windows.h>
#include<ddraw.h>
#pragma comment(lib,"ddraw")
extern LPDIRECTDRAWSURFACE lpDDSBack,lpDDBgm1,lpDDHelp,lpDDSPic3;
extern bool help;

void ALPHA(double Alpha)
{
	DDSURFACEDESC ddsd;
    ddsd.dwSize=sizeof(ddsd);
    lpDDSBack->Lock(NULL,&ddsd,DDLOCK_WAIT,NULL);
    BYTE *Address1=(BYTE*)ddsd.lpSurface;
    lpDDSBack->Unlock(&ddsd);

	DDSURFACEDESC ddsd1;
	ddsd1.dwSize=sizeof(ddsd1);
    lpDDHelp->Lock(NULL,&ddsd1,DDLOCK_WAIT,NULL);
    BYTE *Address2=(BYTE*)ddsd1.lpSurface;
    lpDDHelp->Unlock(&ddsd1);

	DDSURFACEDESC ddsd2;
	ddsd2.dwSize=sizeof(ddsd2);
	lpDDSPic3->Lock(NULL,&ddsd2,DDLOCK_WAIT,NULL);
    BYTE *NewAdress=(BYTE*)ddsd2.lpSurface;
	lpDDSPic3->Unlock(&ddsd2);
	for(int j=400,j1=0;j<640;j++,j1++)
       for(int i=600,i1=0;i<924;i++,i1++)
	   {
	        *(NewAdress+ddsd2.lPitch*j1+i1*4) = *(Address1+ddsd.lPitch*j+i*4) *Alpha + *(Address2+ddsd1.lPitch*j1+i1*4)*(1-Alpha);
            *(NewAdress+1+ddsd2.lPitch*j1+i1*4) = *(Address1+1+ddsd.lPitch*j+i*4) *Alpha + *(Address2+1+ddsd1.lPitch*j1+i1*4)*(1-Alpha);
            *(NewAdress+2+ddsd2.lPitch*j1+i1*4) = *(Address1+2+ddsd.lPitch*j+i*4) *Alpha + *(Address2+2+ddsd1.lPitch*j1+i1*4)*(1-Alpha);   
	   }
    
	static RECT rect1;
	
	::SetRect(&rect1,0,0,324,240);
	if(help)
    lpDDSBack->BltFast(600,400,lpDDSPic3,&rect1,DDBLTFAST_WAIT);
}


void MINCREEN()
{
	static RECT rect1,rect2,rect3;
	::SetRect(&rect1,0,0,1024,768);
	::SetRect(&rect2,700,500,1024,768);
	lpDDSBack->Blt(&rect2,lpDDSBack,&rect1,DDBLTFAST_WAIT,NULL);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -