教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 多页动画技术

多页动画技术

上传者:网友
|
翻新时间:2023-06-07

多页动画技术

多页动画技术 多页动画技术 多页动画技术 动画设计中消除图像闪烁的一种方法是使用多页动画。多页动画是通过使用页切换技术实现的。页切换改变显示页以绘制出给定动画序列的相邻帧。由于图像通常绘制在不同的页上(不是当前可见页),用户不会看到图像被绘制或擦除。所以,这种技术能产生高质量的动画而没有图像闪烁。进行页切换的详细步骤如下。

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

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

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

4.绘制出下一帧。此帧将被绘制在备用显示页(页

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

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

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

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

#include <conio.h>

#include <graph.h}

#include <time.h}

#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,

1

6); 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;ts2=ts1=clock();ts2=clock();

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

初中生活的苦与乐
《论语》读后感
花样年华
岁月如歌——那串涩涩的桑葚
深邃的色彩
夫子春秋
雨魂
“善待”的快乐
雨的心曲
岁月如歌
初中生军训日记与心得体会
雨说
听雨
雨夜
从全球经济危机反思现代商法的制度价值(1)论文
国际反恐合作与不引渡问题探析(1)论文
浅谈我馆地方文献征集工作
国际法语境下的废除死刑(1)论文
浅论孔子与柏拉图的教育伦理思想之比较
浅析从三个生物化学实验入手探索提高实验课的教学效果
墨子处理国家关系的国际法思想(1)论文
网络环境中图书馆的地方文献工作
山西地方文献资源开发利用研究
浅谈国际法上的国家领土(1)论文
建设河池地区地方文献数据库的思考
高校图书馆与地方文献
浅析论教育技术在现代教育中的价值定位
地方文献数字化:中国数字图书馆工程的信息基础
浅论关于教育伦理的思考
《一个中国孩子的呼声》美文欣赏:妈妈的礼物
《和我们一样享受春天》重难点分析
《和我们一样享受春天》美文欣赏 母亲的那双脚
《和我们一样享受春天》随堂练习 提高篇
《和我们一样享受春天》随堂练习 巩固篇
《和我们一样享受春天》美文欣赏 天堂里有没有蝴蝶花
《和我们一样享受春天》教学设计一
《一个中国孩子的呼声》趣闻故事
《一个中国孩子的呼声》随堂练习:提高篇
《一个中国孩子的呼声》美文欣赏:养花
《和我们一样享受春天》重点字词梳理
《和我们一样享受春天》教学设计二
《和我们一样享受春天》老师语录
《和我们一样享受春天》写作指导
《和我们一样享受春天》训练素材