实现爆炸后的振动效果  在许多游戏软件中,我们经常能看到这样的场面:当某一设施爆炸后,屏幕画 面会伴随着轻微的振动,使人感到身临其境。笔者编写了一个函数void MoveView(int x,int y);通过CRT控制器将屏幕视角左上角坐标移至 (x,y)处,使 画面相对移动,从而产生振动效果。程序由Borland C++ 2.0编写,采用VGA 12H模式,代码小、速度快、运行效果形象逼真。   // filename: SHAKE.cpp   // maker: ShiLin   #include   #include   #include   #include   void MoveView(int x,int y);   void main(void){    int gdriver,gmode;    gdriver=DETECT,gmode=0;    initgraph(&gdriver,&gmode,"BORLANDCBGI");    rectangle(100,100,200,200);    outtextxy(100,250,"Press Any Key to SHAKE ...");    getch();    for(int i=0;i<20;i++){    MoveView(10-random(20),5-random(10));    delay(50);    }    MoveView(0,0);    getch();    closegraph();    }   void MoveView(int x,int y){    union{    unsigned int whole;    char low;    }adr;    unsigned char high,low;    adr.whole=y*80+x/8,    low=adr.low,    high=(unsigned char)(adr.whole>>8);    outportb(0x3D4,0X0C);    outportb(0x3D5,high);    outportb(0x3D4,0x0D);    outportb(0x3D5,low);    }