QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2956|回复: 0
打印 上一主题 下一主题

实现爆炸后的振动效果

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:48 |只看该作者 |正序浏览
|招呼Ta 关注Ta

(长春 石琳) 9 O, X% ^! m% q6 k% \0 `

I9 n) [, P3 _5 ?

4 t% X* [- }5 N. b {1 { E

" A t. _0 h) Z. ^$ A$ N   在许多游戏软件中,我们经常能看到这样的场面:当某一设施爆炸后,屏幕画面会伴随着轻微的振动,使人感到身临其境。笔者编写了一个函数void MoveView(int x,int y);通过CRT控制器将屏幕视角左上角坐标移至 (x,y)处,使画面相对移动,从而产生振动效果。程序由Borland C++ 2.0编写,采用VGA 12H模式,代码小、速度快、运行效果形象逼真。 7 X. y+ t( O, P7 n  // filename: SHAKE.cpp # W s8 p/ i% S) |- v' L  // maker: ShiLin 4 V. ~6 Q3 M4 F" r  #include5 _* J* o. z+ m: f) O( I8 n. q, k: [ y   #include 7 N# f: S; h2 a, D; s. z% U  #include 7 V- O' L( E! m# \, t% u: v* e  #include : Q! Z9 f# U) H$ R4 H( {8 B  void MoveView(int x,int y); j! A& U4 S) U2 o" E   void main(void){ ' C% ~* h8 E9 L9 \, d9 M G   int gdriver,gmode;4 R7 N8 ^7 h. s* n    gdriver=DETECT,gmode=0;2 [. [4 r# ]$ C5 a0 j( t    initgraph(&gdriver,&gmode,"BORLANDCBGI");/ A+ k4 @8 a; a- ^9 d# o    rectangle(100,100,200,200);7 B9 n; R* ^( P    outtextxy(100,250,"Press Any Key to SHAKE ...");- z3 W$ u4 g+ R, ^: w1 r# {' `    getch(); ! C3 R1 y3 I% ^; L( o# Q   for(int i=0;i<20;i++){/ p- v# p y' K( T7 g2 P! S    MoveView(10-random(20),5-random(10));6 r6 D& @* x9 G, A    delay(50); 2 R" l' c( \3 ]2 m# |' U0 d8 ]4 t   } ' {; I7 g b& K( c   MoveView(0,0); - j: {7 N2 Q- ^! |   getch(); + |3 I9 m: J" N: P/ U   closegraph(); , v& p0 |5 A* D) c) B2 L   }' ~) z0 s1 U9 w' M   void MoveView(int x,int y){# m3 x6 F; S' C. F    union{ k% _' x6 y7 [# ~: E4 Q! F    unsigned int whole; + t0 w% a9 s2 q8 j& x& {# k8 |   char low; / ]! V$ ~. H" }9 Z. i   }adr; + t% n* O5 U, y5 H   unsigned char high,low; " h4 M2 Y+ s* L   adr.whole=y*80+x/8, / v( D2 A o* M( `, m   low=adr.low,: q5 j# }3 g% ?- l# q# a    high=(unsigned char)(adr.whole>>8);0 R* j5 F) s) g! L    outportb(0x3D4,0X0C);; f1 X' \/ l% B5 j& m0 g3 |7 K    outportb(0x3D5,high); ' H5 @$ x. [8 e   outportb(0x3D4,0x0D);, j5 w6 A5 t! I E    outportb(0x3D5,low);" p: g: X) [! X& ?0 ?    } # a# ^ }2 G7 f- U0 i; B: c

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-19 03:50 , Processed in 0.420955 second(s), 53 queries .

回顶部