教育资源为主的文档平台

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

多页动画技术

上传者:网友
|
翻新时间: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();

下载文档

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

网友最新关注

我的妈妈
不要
我的新自行车
捞球
助人为乐
两个消息
老师批评了我
一件后悔的事
电视看美了
学骑自行车
丢手绢
捉迷藏
感谢
桃子
查字典的方法
副班长自我检讨
上班期间睡觉检讨书
宣传委员的自我检讨
致歉信范文
上班上网检讨书范文
生活委员自我检讨
团支书自我检讨书
班长自我检讨书
出纳工作疏忽检讨书
班干部自我反省检讨书
交通事故检讨书
个人工作失误检讨书
成绩下降检讨书
万能检讨书范文6篇
擅自离岗检讨书
论海岩剧的情节构成
探析我国环境侵权民事责任制度的现状及完善(1)论文
谈夫妻忠实义务的违反(1)论文
谈自然人民事责任能力的概念(1)论文
论新媒体浪潮下电视包装的发展趋势
论我国侵权法上危险责任制度的完善(1)论文
论外观设计专利与商标侵权判定的区别(1)论文
探析我国夫妻财产制度的立法构想(1)论文
商标保护与改善城市投资环境(1)论文
关于我国劳动争议处理法律机制完善的思考(1)论文
浅析雇主不当解雇雇员的赔偿责任(1)论文
浅析用人单位违法解除劳动合同的法律责任(1)论文
探讨短信在民事诉讼中的证据能力和证明力(1)论文
从地方媒体的两会报道看新闻价值之接近性
从植入到融入。广告在影视中的存在之道
《爱迪生救妈妈》第一课时教学设计
《画》教学设计
《我多想去看看》教案
《乌鸦喝水》教学设计
《画家乡》
《四季》教学设计
《小小的船》教学设计
《小小的船》教学反思
《王二小》教学设计
《影子》教学设计
《哪座房子最漂亮》教学设计
《雪地里的小画家》教学设计及评点
《自己去吧》教学设计
《乌鸦喝水》教学反思2
《荷叶圆圆》教案