设为首页
联系站长
加入收藏

  格言小语:

励志歌曲版

您现在的位置: 主页 >> 论文 >> 理工论文 >> 计算机论文
  欢迎阅读:多页动画技术
多页动画技术
日期:2006-4-7 15:27:47 来源:论文大全 查看:[ ] 作者:未知  点击:

  1.选择一种至少有两个可用显示页的视频模式(示例中为EGA640×200,16色4页)。

  2.使用-setvideomode()函数获取选择的视频模式。在当前显示页(0页)上绘制出序列中的第一帧。

  3.在需要绘制出序列中下一帧时,使用-setactivepage()函数设置激活页为备用显示项,仅仅改变激活页(不是可见页)。

  4.绘制出下一帧。此帧将被绘制在备用显示页(页1)上,而当前页(页0)继续被显示。在以后重复这一步时在绘制新的一帧前擦除掉已有的帧。

  5.绘制出新的一帧以后,使用-setvisualpage()函数将可见页设置为备用页。此时,备用页成为当前页。

  6.重复步骤3到5直到完成了动画序列为止。

  以下程序(采用Visual C++)演示了实际的多页动画,例子中的动画序列读者自行设计。

  #include

  #include
  #include
  #define LAST-FRAME 4/* Total frames in the sequence. */

  #define DRAW 1 /* Code for the draw operation. */

  #define DELTA-X 10 /* Pixels moved per frame change. */

  #define HALF-SECOND 500 /* 500 msec delay between frames

  . */

  #define MAX-X 600 /* Max X position before termination.

  */

  #define SETUP-DISPLAY \par

  \par -setvideomode(-HRES16COLOR); \par

  #define EXIT-TO-DOS \par

  \par -setvideomode (-DEFAULTMODE); \par

  /****页切换和绘制动画序列****/

  #define PAGE-FLIP(v) \par

  \par if(v==0) v=1; \par

  else v=0; \par

  -setactivepage(v); \par

  -clearscreen(-GCLEARSCREEN); \par

  -settextposition(1,16); \par

  -outtext( \par "Example:

  Multiple Page Animation"); \par

  draw-frame(current-frame,px,py); \par

  -setvisualpage(page); \par

  create-delay(HALF-SECOND); \par

  int px,py; /* Current character position. */

  int page; /* Current page displayed. */

  int current-frame; /* Current frame displayed. */

  main()

  SETUP-DISPLAY

  cycle-frames();

  EXIT-TO-DOS

  cycle-frames()

  current-frame=0;

  px=0;

  py=85;

  page=0;

  while(px<=MAX-X)

  current-frame++;

  if (current-frame>LAST-FRAME)

  current-frame=2;

  PAGE-FLIP(page)

  px=px+DELTA-X;

  current-frame=1;

  PAGE-FLIP(page)

  draw-frame(frame,x,y)

  int frame,x,y;

  switch(frame)

  case 1:

  frame-1(DRAW,x,y);

  break;

  case 2:

  frame-2(DRAW,x,y);

  break;

  case 3:

  frame-3(DRAW,x,y);

  break;

  case 4:

  frame-4(DRAW,x,y);

  break;

  create-delay(td)

  /**同Borland C++中的delay(td)函数**/

  int td;

  time-t ts1,ts2;

  ts2=ts1=clock();

  while(ts1+td>ts2)

  ts2=clock();

  

  作者:黄向明

 感谢阅读:多页动画技术

收藏本页 关闭窗口 返回顶部

·Windows下多串口的配置与使用
·用Windows终端仿真程序实现微机远程
·用Borland C++3.1实现外设与
·动态哈夫曼编码的改进
·我国Internet业务资费策略
·用Windows终端仿真程序实现微机远程
·关于向软件业投资的方向的一些看法
·VOD,走着瞧
·企业信息化的新选择——Intranet
·WEB服务器多框架解决方案

本栏热门文章

湘ICP备05012498号 

Powered By: CD520.Net