翻新时间: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();
下载文档
网友最新关注
- 围棋比赛
- 写字比赛
- 做个马大哈学生真难
- 冬游
- 小亮受伤了
- 参观汤显祖游乐园
- 一张试卷
- 十月桂花香
- 小鸡的成长
- 爱护环境
- 读《列那狐的故事》
- 美丽迷人的夏天
- 我家的电冰箱
- 看《妈妈再爱我一次》的电影
- 青蒜
- 民政局创业服务工作指导方案
- 基层区域公共卫生信息化建设实施意见
- 乡政府党建工作要点
- 小学学校校风建设实施措施
- 村级工作目标考核实施意见
- 安全隐患排查治理方案
- 村级组织换届选举工作实施意见
- 赏诗会活动课方案
- 开展环境创优年活动政府环境创优方案
- 县档案局环境创优年实施意见
- 宾馆部门工作管制
- 县健康会所中心机构建立方案
- 2011年文明素质教育实践方针
- 开发区安全生产百日治理专项行动方案
- 区青年企业家协会成立实施意见
- 新会计准则下“应付职工薪酬”科目会计处理(1)
- 对当前会计人员职业道德缺失的思考(1)
- 资本成本会计新探(1)
- 电算化会计信息系统如何变革适应电子商务的发展(1)
- 关于效益审计理论的实践与思考(1)
- 会计信息的政府管制(1)
- 美国注册会计师审计收费研究-CPA行业(1)
- 论会计信息的弹性空间与透明度要求(1)
- 内部审计在改制企业管理中发挥不可替代的作用(1)
- 浅谈科研单位内部会计控制(1)
- 试论风险导向审计理论在我国的运用(1)
- 浅谈当前会计新领域:法务会计(1)
- 我国会计学科体系重新构建研究(1)
- 审计准则的经济后果分析(1)
- 新会计准则下的贷款减值准备监管问题研究(1)
- 《看雪》教学设计之一
- 《北京》教学设计之二
- 《植物妈妈有办法》教法新探
- 《植物妈妈有办法》教学设计之三
- 《我是什么》说课设计
- 《植物妈妈有办法》教学设计之二
- 《植物妈妈有办法》教学设计之一
- 《植物妈妈有办法》综合资料
- 《北京》教学设计之三
- 《北京》教学设计之二
- 《看雪》第一课时教学设计之一
- 《看雪》教学谈
- 《北京》综合资料
- 《看雪》教学实录
- 《北京》教学设计之一