实现爆炸后的振动效果

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

实现爆炸后的振动效果

(长春 石琳)

在许多游戏软件中,我们经常能看到这样的场面:当某一设施爆炸后,屏幕画面会伴随着轻微的振动,使人感到身临其境。笔者编写了一个函数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);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有