- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9w-动画工具包介绍by张艳梅
动画工具包介绍
-Egg库、EasyX;提纲;图形库函数EGG简介;可共享的库文件-静态库文件;可共享的库文件-动态库文件;Egg库使用方法;Egg-创建并初始化动画窗口;Egg窗口坐标;动画实现
盘子: Egg图形窗口的昵称
蛋egg:透明的图形元素篮子、可以控制移动。
所绘制的图形元素都是画在egg上。初始有一个背景egg,之后你可以自己LayEgg,生多少egg都可以。
每个egg是独立移动,不会影响其它的egg。;可以下多个egg蛋,当两个蛋重合,后下的蛋会覆盖先下的蛋。使用ChangeEggLayer()可以改变egg的层次,调整互相之间的覆盖关系。
需要特别注意的是,在egg上绘画时,所采用的坐标系是每个egg自己的独立坐标,而不是盘子坐标。也就是说,绘画时,不需要考虑egg在盘子内的位置(egg会移动),egg自己的左下角永远是坐标原点。
;如何下蛋:
每次调用LayEgg()都会生成一个新的egg,并把这个egg的句柄返回给你。
HEGG LayEgg(void);
执行完EggStart()后,便已经偷偷建立了一个背景蛋,所有的绘图操作,都是在这个egg上进行的。当LayEgg()后,再执行绘图操作,就是在新的egg上绘图了。
;Egg-生成动画对象 画蛋;Egg-画笔;画笔相关函数;Egg-画蛋;Egg-画蛋;Egg-画蛋;;#include egg.h
#define NUMBER_OF_EGG 5
int main(void)
{
HEGG hEggs[NUMBER_OF_EGG];
int i;
EggStart(100,50);
for (i=0; iNUMBER_OF_EGG; i++)
{
hEggs[i] = LayEgg(); DrawArc(i+10, 180, 180);//在当前活动的蛋上画一个半圆
}WaitForExit(); //等待用户关闭窗口
return 0;
} ;Egg-画蛋;Egg-画蛋;Egg-画蛋;;如何设置活动蛋(被激活的蛋):
绘图和移动都是在活动蛋上进行的;
如果想回头在旧egg上绘图,可以使用
void SetActiveEgg(HEGG hEgg)函数
将旧的egg变成活动蛋
因此,需要把每次LayEgg()的返回值(egg的句柄)保存下来,从而将旧蛋变成活动蛋; ;如何动蛋
移动是在活动蛋上进行的。移动一个蛋时,该蛋上所有的图形都会一起动。
如果只是想动整个图形的一部分(如电梯、小火车),则该部分一定要在一个独立的egg上绘制。
void MoveEgg(double x, double y);
在盘子上移动活动egg到盘子内的坐标x,y处
void OffsetEgg(double dx, double dy);
在盘子上把活动egg移动 (dx,dy) 位移;//画5个能分别动起来的半圆
void donghua1(void)
{
HEGG hEggs[NUMBER_OF_EGG];
int i;
EggStart(100,50);
//画5个不同半径的半圆
for (i=0; iNUMBER_OF_EGG; i++){
hEggs[i] = LayEgg();
DrawArc(i+10, 180, 180);
}
; //让5个半圆分别移动
i = 0;
while (WaitFor(100)){
SetActiveEgg(hEggs[i]);
OffsetEgg((NUMBER_OF_EGG - i - 1) * 10, 0);
if (i NUMBER_OF_EGG - 1)
i++;
else
i = 0;
}
}
;//画5个能同时动起来的半圆
void donghua2(void)
{
HEGG hEggs[NUMBER_OF_EGG];
int i;
EggStart(100,50);
SetAutoUpdate(0); //设置不自动更新屏幕
for (i=0; iNUMBER_OF_EGG; i++){
hEggs[i] = LayEgg();
DrawArc(i+10, 180, 180);
}; Update();//也可以不要
i = 0;
while (WaitFor
您可能关注的文档
- 9-物理存储结构.ppt
- 9-10光性矿物学.ppt
- 9-2矩阵.ppt
- 9-限时规范训练.doc
- 9 语文教学课件《心存感激》作者 颜秀霞.ppt
- 9.10—9.16中国网页游戏开服分析报告.pptx
- 9.18晚报QE气运行将揭晓 黄金后市何去何从.pptx
- 9.1 新学年新气象主题班会.ppt
- 9-2诗歌形象.ppt
- 9-专题研究1(曲线与方程).ppt
- 内容案例一幕-18 percussion 2.pdf
- 演示语言清单由group 2 song liu class 12组歌曲.pdf
- 说明fmm3522电气服务章建筑物电源分配-2ch05 pwr dis in bldgs2bldgs2中CH05 PWRDIS2.pdf
- 综合问题诺基亚nokia 7260RM 176A.pdf
- 强大多体功能无分段方法ji robust multi-body feature cvpr paper.pdf
- 有趣lorem非常货物aboobee内容增强3gb 600套合集.pdf
- renin-angiotensin signaling肾素血管紧张信号传导.pdf
- 讲稿介绍色板书zswatch book zcharles claytonSwatch.pdf
- 综合文凭计划du programa del bievama swahili paper 1 hl markscheme.pdf
- 倾斜前缘扩散器数值研究叶片对流动不稳定噪声特征影响在跨性别离心压缩机中gt2017-65117.pdf
文档评论(0)