实验11 飞跃放大
变色隐形(P203 206 208)
1.场景中加入飞鸽实例,命名为 fg。
2.场景中加入[飞鸽][飞跃][放大][变色][隐形]按钮,
分别添加动作命令。
动作/全局函数/影片剪辑控制/
按钮命令可改变多个实例的属性:
on(release) {
fg._x=200;
fg1._x=300;
}
实例命令只改变当前实例属性:
onClipEvent (enterFrame) {
this._x+=4;
}
帧命令复制实例可同时改变实例属性:
duplicateMovieClip("fg","fg1",1);
fg1._x+=50;
[飞鸽]按钮:加入动作命令,
对飞鸽实例 fg fg1 的宽高、坐标、缩放(%)、透明分别赋值。
on (release) {
fg._width=60;
fg._height=30;
fg._x=200;
fg._y=120;
fg._xscale=150;
fg._yscale=150;
fg._alpha=100;
}
实例 fg | 飞鸽 | 飞跃 | 缩放(%) | 变色 | 隐形 |
fg._width | 60 | 60 | 120 | 120 | |
fg._height | 30 | 30 | 60 | 60 | |
fg._x | 160 | 330 | 200 | 220 | 220 |
fg._y | 210 | 80 | 120 | 130 | 130 |
fg._xscale | 150 | ||||
fg._yscale | 150 | ||||
fg._alpha | 100 | 100 | 100 | 0 | 20 |
fg1._alpha | 0 | 0 | 0 | 100 | 0 |
远走高飞(P221)
动作/全局函数/影片剪辑控制/
按钮命令可改变多个实例的属性:
on(release) {
fg._x=200;
fg1._x=300;
}
实例命令只改变当前实例属性:
onClipEvent (enterFrame) {
this._x+=4;
}
帧命令复制实例可同时改变实例属性:
duplicateMovieClip("fg","fg1",1);
fg1._x+=50;
1.场景中加入飞鸽实例,命名为 fg。
2.飞鸽实例加入动作命令改变当前对象属性,
使飞鸽从左下角向右上角飞翔,
飞鸽按 0.1 比例缩小,按 0.2 增加透明度。
飞鸽 x 坐标超过 700 时,回到左下角。
onClipEvent (enterFrame) {
this._x+=4;
this._y-=3;
this._xscale-=0.1;
this._yscale-=0.1;
this._alpha-=0.2;
if(this._x>700){
this._x=40;
this._y=500;
this._xscale=80;
this._yscale=80;
this._alpha=100;
}
}
3.场景 1 第 1 帧加入动作命令,用实例名 fg 复制飞鸽。
duplicateMovieClip("fg","fg1",1);
fg1._x+=50;
fg1._y-=60;
duplicateMovieClip("fg","fg2",2);
fg2._x+=100;
fg2._y-=30;
动作/全局函数/影片剪辑控制/
按钮命令可改变多个实例的属性:
on(release) {
fg._x=200;
fg1._x=300;
}
实例命令只改变当前实例属性:
onClipEvent (enterFrame) {
this._x+=4;
}
帧命令复制实例可同时改变实例属性:
duplicateMovieClip("fg","fg1",1);
fg1._x+=50;
1.文档属性:大小 300*300,背景 ,帧频 30 fps
2.创建扇叶 leaf 影片剪辑元件。
画椭圆,用选择工具调整成扇叶,宽高 20*40,坐标 -7,-40。
3.创建轴心 axis 影片剪辑元件。
画圆,宽高 10*10,坐标 -5,-5。
4.创建六叶风扇 6leaf 影片剪辑元件。
扇叶层:拖入库中的扇叶 leaf 影片剪辑元件,实例命名为 leaf。
宽高 20*40,坐标 -7,-40。
轴心层:拖入库中的轴心 axis 影片剪辑元件,实例命名为 axis。
第 1 帧加入动画脚本,用实例名 leaf axis 复制扇叶和轴心。
复制出来的扇叶旋转 60°,放在不同图层。
复制出来的轴心放在最上面的图层。
duplicateMovieClip("leaf","leaf1",1);
leaf1._rotation+=60;
duplicateMovieClip("leaf","leaf2",2);
leaf2._rotation+=120;
duplicateMovieClip("leaf","leaf3",3);
leaf3._rotation+=180;
duplicateMovieClip("leaf","leaf4",4);
leaf4._rotation+=240;
duplicateMovieClip("leaf","leaf5",5);
leaf5._rotation+=300;
duplicateMovieClip("axis","axis1",6);
5.场景 1 中,拖入库中的六叶风扇 6leaf 影片剪辑元件,
舞台实例放大 3 倍,宽高 60*135,坐标 130,30。
旋转风扇(P236)
1.把六叶风扇 6leaf.fla 复制成旋转风扇 xzfs.fla。
2.打开旋转风扇 xzfs.fla 文件。
3.在库中创建旋转风扇 fan 影片剪辑元件,
拖入六叶风扇影片剪辑元件 6leaf,
选取 6leaf 影片剪辑元件的实例,
加入动画脚本改变当前对象属性,实现逐帧使当前对象旋转 5°角。
onClipEvent (enterFrame) {
this._rotation-=5;
}
4.场景 1 中,拖入旋转风扇 fan 影片剪辑元件,舞台实例放大 3 倍。
碰撞反弹(P249)
1.打开动画边框 dhbk.fla 文件,另存为碰撞反弹 pzft.fla。
2.文件/导入/打开外部库/旋转风扇 xzfs.fla。
把旋转风扇影片剪辑元件 fan 拖入到当前库。
3.创建元件“ball”,拖入库中的“fan”元件,画 100*100 的圆。
4.场景 1 第 1 帧,拖入库中的“ball”元件,“ball”实例 100*100。
第 1 帧加入动画脚本,设置“ball”初始状态为不向右、不向下运动。
isright=false;
isdown=false;
5.场景 1 中,选择“ball”实例,加入动画脚本改变当前对象属性,
动作/全局函数/影片剪辑控制/onClipEvent (enterFrame)
实现“ball”对象的上下运动和
由上下边界控制“ball”对象 y 坐标 y=80---520。
onClipEvent (enterFrame) {
if(_root.isdown)
this._y+=6;
else
this._y-=6;
if(this._y>520)
_root.isdown=false;
if(this._y<80)
_root.isdown=true;
实现“ball”对象的左右运动和
由左右边界控制“ball”对象 x 坐标 x=80---720。
if(_root.isright)
this._x+=6;
else
this._x-=6;
if(this._x>720)
_root.isright=false;
if(this._x<80)
_root.isright=true;
}
6.修改“fan”元件中的“6leaf”实例叶片旋转的动画脚本,
球向右前进时,轮叶片正转,后退时反转。
onClipEvent (enterFrame) {
if(_root.isright)
this._rotation+=10;
else
this._rotation-=10;
}
奥运圣火(P253)
1.打开动画边框 dhbk.fla 文件,另存为奥运圣火 oysh.fla。
2.文件/导入/打开外部库/旋转风扇 xzfs.fla。
把旋转风扇影片剪辑元件 fan 拖入到当前库。
3.场景 1 中,把风扇影片剪辑元件 fan 拖入到舞台中心,
舞台实例缩小到 2/3,宽高 14*30,该实例命名为 fan。
4.场景 1 第 1 帧加入动画脚本,
用实例名 fan 循环复制 fan 对象 2 行 2*9 个向右排列。
旋转风扇实例间隔 80px,上一行 y=70,下一行 y=530。
for(i=1;i<10;i++)
{
duplicateMovieClip("fan","fan"+i,i);
setProperty("fan"+i,_x,i*80);
setProperty("fan"+i,_y,70);
duplicateMovieClip("fan","fan"+9+i,9+i);
setProperty("fan"+9+i,_x,i*80);
setProperty("fan"+9+i,_y,530);
}
实现循环复制 fan 对象 2 列 2*5 个向下排列。
旋转风扇实例间隔 80px,左列 x=80,右列 x=720。
for(i=1;i<6;i++)
{
duplicateMovieClip("fan","fan"+18+i,18+i);
setProperty("fan"+18+i,_x,80);
setProperty("fan"+18+i,_y,60+i*80);
duplicateMovieClip("fan","fan"+23+i,23+i);
setProperty("fan"+23+i,_x,720);
setProperty("fan"+23+i,_y,60+i*80);
}
实现循环复制 fan 对象 1 行 3 个向右排列。
旋转风扇实例间隔 200px,y=300,放大 200%,alpha = 10%。
for(i=1;i<4;i++)
{
duplicateMovieClip("fan","fan"+28+i,28+i);
setProperty("fan"+28+i,_x,i*200);
setProperty("fan"+28+i,_y,300);
setProperty("fan"+28+i,_xscale,200);
setProperty("fan"+28+i,_yscale,200);
setProperty("fan"+28+i,_alpha,10);
}
1.准备多张 300*230,或 230*230 图像文件:
mm1.jpg mm2.jpg mm3.jpg mm4.jpg mm5.jpg mm6.jpg。
bs1.jpg bs2.jpg bs3.jpg bs4.jpg bs5.jpg bs6.jpg。
2.舞台绘制一个 300*230,或 230*230 的填充块,
转换为影片剪辑元件“屏幕” pm,
舞台实例命名为 pm,宽高 300*230 或 230*230 ,
坐标 145,45,相对实际显示位置要右移 11,上移 5。
3.场景 1 第 1 帧加入动画脚本,
动作/全局函数/浏览器、网络/loadMovie。
定义图片号 i,实现把指定路径的图像 mmi.jpg 装入舞台实例 pm 中,
设置 pm_alpha 的初始值。
i=1;
loadMovie("mm"+i+".jpg",pm);
pm._alpha=0;
4.实例 pm 加入动画脚本改变当前对象属性,
逐帧减小透明度,实现淡入效果。
onClipEvent (enterFrame) {
this._alpha+=5;
}
5.按钮选择相片
[上张]按钮加入动画脚本,通过减少 i 改变 mmi.jpg 实现换相,
设置 pm_alpha 的初始值。
on (release) {
i--;
pm._alpha=0;
if(i<1)
i=6;
loadMovie("mm"+i+".jpg",pm);
}
[下张]按钮加入动画脚本,通过增加 i 改变 mmi.jpg 实现换相,
设置 pm_alpha 的初始值。
on (release) {
i++;
pm._alpha=0;
if(i>6)
i=1;
loadMovie("mm"+i+".jpg",pm);
}
6.[音乐]按钮加入动画脚本,实现播放音乐。
isStreaming 是布尔值:(P299)
true 声音流边下载边播放,false 事件声音下载完才播放。
on (release) {
m=new Sound();
m.loadSound("music.mp3",true);
}
7.控制播放的按钮加入动画脚本。
动作/全局函数/浏览器、网络/fscommand。
[全屏]按钮
on(press){
fscommand("fullscreen",true);
}
[窗口]按钮
on(press){
fscommand("fullscreen",false);
}
[退出]按钮
on(press){
fscommand("quit");
}
8.在“屏幕”层的下层建立“背景”层,绘制线性填充彩色块,
宽高 300*230,坐标 134,50,相对“屏幕”左移 11,下移 5。
参观校园(P296)
1.文档属性:大小 800*600,背景 青色,帧频 30fps
准备多张 300*230 图像文件。
2.舞台绘制一个 640*480 的填充块,转换为影片剪辑元件“屏幕” pm,
舞台实例命名为 pm,宽高 640*480,
坐标 103,22,相对实际显示位置要右移 103,上移 8。
3.场景 1 第 1 帧加入动画脚本,
定义图像、声音的路径 p,s,设置 pm_alpha 的初始值。
p="pic/";
s="snd/";
song= new Sound();
pm._alpha=0;
4.实例 pm 加入动画脚本改变当前对象属性,
逐帧减小透明度,实现淡入效果。
onClipEvent (enterFrame) {
this._alpha+=5;
}
5.按钮选择风景
按钮加入动画脚本,通过改变 .jpg 和 .mp3 文件,
实现选择风景和改变背景音乐,设置 pm_alpha 的初始值。
动作/全局函数/浏览器、网络/loadMovie。
isStreaming 是布尔值:(P299)
true 声音流边下载边播放,false 事件声音下载完才播放。
on(release){
pm._alpha=0;
loadMovie(p+"zl.jpg",pm);
song.loadSound(s+"xyqz.mp3",true);
}
按钮 | 主楼 | 大楼 | 师生 | 球场 | 水池 | 景点 |
图像 | zl.jpg | dl.jpg | ss.jpg | qc.jpg | sc.jpg | jd.jpg |
声音 | xyqz.mp3 | nhdx.mp3 | music.mp3 | snxh.mp3 | mdqz.mp3 | yy328.mp3 |
6.在“屏幕”层的下层建立“背景”层,绘制线性填充彩色块,
宽高 640*480,坐标 80,30,相对“屏幕”左移 103,下移 8。
1.获取当前的日期:年、月、日和时间:时、分、秒的数值,
动态文本关联日期时间变量:year month date hour minute second。
2.动作/ActionScript 2.0 类(内置类)/
核心/Date/new Date/方法/getDate。
3.引用舞台对象:加上当前舞台主时间轴的说明“_root”。
_root.onEnterFrame=function(){
myd=new Date();
year=myd.getFullYear();
month=myd.getMonth()+1;
date=myd.getDate();
hour=myd.getHours();
minute=myd.getMinutes();
second=myd.getSeconds();
}
模拟时钟(P282)
模拟时钟 mysz.rar rqsj1 rqsj2 动画边框
1.文档属性:大小 400*400,背景 浅绿色,帧频 12fps
2.创建时钟刻度 clock 影片剪辑元件,输入特殊符号“■” 字号 40,
分离成形状,宽高 10*30,xy(-5,-180)。
3.创建我的时钟元件 mysz 在时钟层:
拖入库中的时钟刻度 clock 影片剪辑元件,实例命名为 ck,
宽高 10*30,xy(-5,-180)。
第 1 帧加入动画脚本,
用实例名 ck 复制时钟刻度影片剪辑元件 11 个。
复制出来的时钟刻度旋转 i*30°,放在不同图层。
for(i=1;i<12;i++){
duplicateMovieClip("ck","ck"+i,i);
setProperty("ck"+i,_rotation,i*360/12); }
4.创建时钟指针元件 line 影片剪辑元件,宽高 2*130,坐标 -1,-130。
5.我的时钟元件 mysz 在时钟层:创建时钟指针元件 line 实例,
秒针 s:宽高 2*130,坐标 -1,-130。
分针 m:宽高 4*100,坐标 -2,-100。
时针 h:宽高 6*80 ,坐标 -3,-80。
6.我的时钟元件 mysz 时钟层第 1 帧加入动画脚本,
定义主时间轴 _root 的 onEnterFrame 事件函数。
获取当前的时、分、秒的数值,并转换为指针的旋转角度。
秒针 s:360°/60秒=6°/秒
分针 m:360°/60分=6°/分
时针 h:360°/12小时=30°/小时
小时 0 -- 23 除 12 取余,小时要加旋转修正值,
例如,9:30 时针转角
(hour+minute/60)*360/12
=(9+30/60)*30°
=9.5*30°
_root.onEnterFrame=function(){
myd=new Date();
second=myd.getSeconds();
s._rotation=second*360/60;
minute=myd.getMinutes();
m._rotation=minute*360/60;
hour=myd.getHours()%12;
h._rotation=(hour+minute/60)*360/12;
year=myd.getFullYear();
month=myd.getMonth()+1;
date=myd.getDate();
}
7.获取当前的日期:年、月、日和时间:时、分、秒的数值,
关联动态文本变量:year month date hour minute second。
8.轴心层:宽高 12*12,坐标 -6,-6。
旋转动画(秒针)
所用软件:Micromedia Flash MX 动画制作软件
实验目的:制作带声音旋转动画的制作
实验过程:(P97)
1.在场景中画一个时钟刻度盘—把层改名刻度盘—
刻度盘中背景使用位图填充。
2.在刻度盘层上插入秒针层。
3.在秒针层上用刷子画秒针。
或者用文字工具—输入网站标志,
如“网络天地 828 http://wltd828.ecbest.com”。
在网站标志上增加字母构成秒针。
4.用箭头工具选定秒针—修改—转换为元件:
名称:秒针元件,行为:图形,注册:选中下点。
5.用箭头工具选定秒针—点击旋转工具—移动秒针的中心点到中下位置。
6.秒针对准刻度“12”,秒针转轴心、时钟刻度中心
都应与工作区中心对齐。
7.右击第15帧,插入关键帧,顺时针旋转秒针 90°。
8.依次右击第30、45、60帧,分别插入关键帧,分别顺时针旋转秒针 90°。
9.依次右击第1、15、30、45帧—创建动画动作。
10.修改—影片,
帧频:1帧/秒,每分旋转1周。尺寸:550px * 400px,背景颜色:天蓝色。
关键帧 |
1 |
15 |
30 |
45 |
60 |
秒数 旋转角度 |
1 0 |
15 90 |
30 180 |
45 270 |
60 360 |
11.增加秒针滴答声层。
12.窗口—共享库—声音—用 Latch Metal Click 模拟滴答声,
把它拖到第1帧。
13.右击第1帧—复制帧—右击第2帧—粘贴帧。
14.按住[Ctrl]—选中第1、2帧—右击—复制—粘贴到3、4帧。
15.由1至4帧复制粘贴到5至8帧,……最后使60帧都带滴答声。
空格键:
“红鸽”实例加入动画脚本改变当前对象属性,
实现控制红鸽向右飞行。
onClipEvent (enterFrame) {
if(Key.isDown(Key.SPACE)and this._x<320)
this._x+=5;
}
方向键:
“灰鸽”实例加入动画脚本改变当前对象属性,
实现控制灰鸽向左右上下移动。
onClipEvent (enterFrame) {
if(Key.isDown(Key.LEFT)and this._x>120)
this._x-=5;
if(Key.isDown(Key.RIGHT)and this._x<320)
this._x+=5;
if(Key.isDown(Key.UP) and this._y>80)
this._y-=4;
if(Key.isDown(Key.DOWN)and this._y<210)
this._y+=4;
}
椭圆曲线(P311)
1.创建影片剪辑元件“S”,用 Times New Roman 字体的 * 符号,
分离成形状,宽高 20*20。
2.创建影片剪辑元件“star”,
拖入影片剪辑元件“S”,宽高 20*20,
选择该实例,在 enterFrame 事件中加入动画脚本。
onClipEvent (enterFrame) {
this._rotation+=3;
}
3.场景 1 第 1 帧,把影片剪辑元件“star”拖入到舞台中央,
实例名“star”,宽高 20*20。
继续创建 4 个实例,宽高 80*80,不用取实例名。
4.场景 1 第 1 帧加入动画脚本,
用实例名“star”复制 72 个小花,
在椭圆上每隔 5° 放置一个小花。
for(i=0;i<72;i++){
duplicateMovieClip('star','s'+i,i);}
for(i=0;i<72;i++){
eval('s'+i)._x=400+350*Math.cos(5*i*Math.PI/180);
eval('s'+i)._y=300+250*Math.sin(5*i*Math.PI/180);
}
场景 1 第 1 帧加入动画脚本,
用实例名 star1,star2,star3,star4 分 4 段复制 4*18 个小花,
在椭圆上每隔 5° 放置一个小花。
实例名 | star1 | star2 | star3 | star4 |
小花颜色 | 红色 | 绿色 | 黄色 | 青色 |
小花序号 | 0--17 | 18--35 | 36--53 | 54--71 |
排列角度 | 0--89 | 90--179 | 180--269 | 270--359 |
1.文档属性:大小 200*200,背景 6699CC,帧频 30fps
2.创建影片剪辑元件 line,由 10 增长到 80。
起始帧 line 的属性:宽高 10,0; xy 20,0
2.创建影片剪辑元件 36 Line 放射阳光线,
第 1 帧拖入影片剪辑元件 line,实例取名 line。
line 的属性:宽高 10,0; xy 20,0
第 1 帧加入动画脚本,
把 line 影片剪辑元件复制成 36 条阳光线,间隔 10°。
for(i=0;i<36;i++){
duplicateMovieClip('line','L'+i,i);
setProperty("line"+i,_rotation,10*i);}
3.场景 1 第 1 帧拖入影片剪辑元件 36 Line。
36 Line 的属性:宽高 50,40; xy 80,80。
1.文档属性:大小 200*200,背景 6699CC,帧频 30fps
2.创建影片剪辑元件 line
line 的属性:宽高 0,80; xy 0,-100
3.创建影片剪辑元件 M_line
第 1 帧拖入影片剪辑元件 line,实例取名 line。
line 的属性:宽高 0,80; xy 0,-100
第 1 帧加入动画脚本,
把 line 影片剪辑元件复制成 36 条阳光线,间隔 10°。
for(i=0;i<36;i++){
duplicateMovieClip('line','L'+i,i);
eval('L'+i)._rotation+=10*i;}
4.创建影片剪辑元件 rotat_line
第 1 帧拖入影片剪辑元件 M_ line。
M_ line 的属性:宽高 0,80; xy 0,-100
选取 M_line 影片剪辑元件的实例,
加入动画脚本,实现逐帧使当前对象旋转 3° 角的旋转阳光。
onClipEvent (enterFrame) {
this._rotation+=3;}
5.场景 1 第 1 帧拖入影片剪辑元件 rotat_Line。
rotat_Line 的属性:宽高 40,120; xy 80,0。
函数漩涡(P312)
1.创建影片剪辑元件“S”,用 Times New Roman 字体的 * 符号,
分离成形状,宽高 20*20。
2.创建影片剪辑元件“star”,
拖入影片剪辑元件“S”,宽高 20*20,
选择该实例,在 enterFrame 事件中加入动画脚本,
改变当前对象属性。
onClipEvent (enterFrame) {
this._rotation+=3;
}
3.场景 1 第 1 帧,把影片剪辑元件“star”拖入到舞台中央,
实例名“star”,宽高 20*20。
4.场景 1 第 1 帧加入动画脚本,
用实例名“star”复制 240 个小花,
在椭圆上每隔 7° 放置一个小花。
for(i=0;i<240;i++){
duplicateMovieClip('star','s'+i,i);
}
for(i=0;i<240;i++){
eval('s'+i)._x=420+(120+i)*Math.cos(7*i*Math.PI/180);
eval('s'+i)._y=300+(100+0.7*i)*Math.sin(7*i*Math.PI/180);
}
场景 1 第 1 帧加入动画脚本,
用实例名 star1,star2,star3 分 3 段复制 3*80 个小花,
在椭圆上每隔 7° 放置一个小花。
实例名 | star1 | star2 | star3 |
小花颜色 | 黄色 | 红色 | 绿色 |
小花序号 | 0--79 | 80--159 | 160--239 |
排列角度 | 0--553 | 560--1113 | 1120--1673 |
场景 1 第 1 帧加入动画脚本,
用实例名 star1,star2,star3 颜色相间复制 3*80 个小花,
在椭圆上每隔 7° 放置一个小花,单种颜色小花间隔 21° 。
for(i=0;i<240;i+=3){
duplicateMovieClip('star1','s'+i,i);
}
for(i=1;i<240;i+=3){
duplicateMovieClip('star2','s'+i,i);
}
……。
实例名 | star1 | star2 | star3 |
小花颜色 | 红色 | 黄色 | 绿色 |
小花序号 | 0--237 | 1--238 | 2--239 |
排列角度 | 0--1659 | 7--1666 | 14--1673 |
程序绘画(P316)
程序绘画 cxhh1 高山流水 高山流水1 动态画线文档属性无需设置,直接在场景 1 图层1 第 1 帧加入动画脚本。
绘画语句介绍:
1.创建空影片剪辑
cteateEmptyMovieClip(影片剪辑名,深度)
2.设置时间间隔
setInterval(函数名,间隔毫秒)
3.设置初始值
i=r=x=y=0;
4.设置线型
lineStyle(线宽,颜色,透明)
红 FFOOOO 绿 OOFFOO 蓝 OOOOFF
黄 FFFFOO 青 OOFFFF 紫 FFOOFF。
5.绘制直线
lineTo(x,y)
6.移动画点
moveTo(x,y)
绘画语句说明:
1.程序画太阳
r=0 to 20;
mc.lineStyle(3,0xFFOOOO,100);
mc.moveTo(530+r,150);
i=0 to 360
x=530+r*Math.cos(i*Math.PI/180);
y=150+r*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);
2.程序画阳光
r1=25;r2=120;
mc.lineStyle(1,0xFFFFOO,60);
i=0 to 360
x1=530+r1*Math.cos(i*Math.PI/180);
y1=150+r1*Math.sin(i*Math.PI/180);
mc.moveTo(x1,y1);
x2=530+1.5*r2*Math.cos(i*Math.PI/180);
y2=150+r2*Math.sin(i*Math.PI/180);
mc.lineTo(x2,y2);
3.放射性填充画太阳
wh 40*40 xy 580,135
绘画语句清单:
createEmptyMovieClip("mc",1);
drawc();
setInterval(drawc,100);
function drawc(){……}
“高山”绘画语句清单:
mc.lineStyle(5,0x00ff00,100);
mc.moveTo(33,200);
for(i=0;i<800;i++){
x=33+0.4*i;
y=200+0.3*x*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);}
“流水”绘画语句清单:
mc.lineStyle(2,0x0000FF,100);
for(i=7;i>1;i--){
y = 600 - 20 * i
x1 = 530 - 30 * i
x2 = 530 + 30 * i
mc.moveTo(x1,y);
mc.lineTo(x2,y);}
“金光”绘画语句清单:
太阳
for(r=0;r<=20;r+=3){
mc.lineStyle(3,0xFF0000,100);
mc.moveTo(530+r,150);
for(i=0;i<=360;i+=20){
x=530+r*Math.cos(i*Math.PI/180);
y=150+r*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);
}
}
阳光
r1=20;r2=120;
mc.lineStyle(1,0xFFFF00,100-r);
for(i=0;i<=360;i+=2){
x1=530+r1*Math.cos(i*Math.PI/180);
y1=150+r1*Math.sin(i*Math.PI/180);
mc.moveTo(x1,y1);
x2=530+1.5*r2*Math.cos(i*Math.PI/180);
y2=150+r2*Math.sin(i*Math.PI/180);
mc.lineTo(x2,y2);
}
“大道”绘画语句清单:
大桥
r1=230;r2=r1/2;
mc.lineStyle(6,0xff9900,100);
mc.moveTo(300,450);
for(i=180;i>=0;i--){
x=530+r1*Math.cos(i*Math.PI/180);
y=450-r2*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);}
桥孔
r3=25;r4=50;
mc.lineStyle(3,0x00FFFF,100);
for(x=380;x<=680;x+=50){
mc.moveTo(x-25,450);
for(i=180;i>=0;i--){
x1=x+r3*Math.cos(i*Math.PI/180);
y1=450-r4*Math.sin(i*Math.PI/180);
mc.lineTo(x1,y1);
}
}
createEmptyMovieClip("mc",1);
drawc();
setInterval(drawc,100);
function drawc(){
mc.lineStyle(5,0x00ff00,100);
mc.moveTo(190,340);
for(i=0;i<480;i+=15){
x=190+0.3*i;
y=340+1/20*x*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);
}
for(r=0;r<=20;r+=3){
mc.lineStyle(3,0xFF0000,110);
mc.moveTo(530+r,110);
for(i=0;i<=360;i+=20){
x=530+r*Math.cos(i*Math.PI/180);
y=110+r*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);
}
}
r1=20;r2=70;
mc.lineStyle(1,0xFFFFFF,100);
for(i=0;i<=360;i+=5){
x1=530+r1*Math.cos(i*Math.PI/180);
y1=110+r1*Math.sin(i*Math.PI/180);
mc.moveTo(x1,y1);
x2=530+1.5*r2*Math.cos(i*Math.PI/180);
y2=110+r2*Math.sin(i*Math.PI/180);
mc.lineTo(x2,y2);
}
r1=90;r2=0.4*r1;
mc.lineStyle(6,0xff9900,100);
mc.moveTo(300,390);
for(i=180;i>=0;i-=5){
x=390+r1*Math.cos(i*Math.PI/180);
y=390-r2*Math.sin(i*Math.PI/180);
mc.lineTo(x,y);
}
r3=15;r4=20;
mc.lineStyle(3,0x00FFFF,100);
for(x=330;x<=450;x+=30){
mc.moveTo(x-15,390);
for(i=180;i>=0;i-=10){
x1=x+r3*Math.cos(i*Math.PI/180);
y1=390-r4*Math.sin(i*Math.PI/180);
mc.lineTo(x1,y1);
}
}
}
变色椭圆(P317)
1.由 x0,y0(400,300),求出 x1,y1, moveTo(x1,y1);
2.由 x1,y1,求出 x2,y2, lineTo(x2,y2);
3.椭圆曲线分 4 段:
0 -- 17 个 5 叶曲线为红色;
mc.lineStyle(1,0xFF4400,100)
18 -- 35 个 5 叶曲线为绿色;
mc.lineStyle(1,0x00FF00,100)
36 -- 53 个 5 叶曲线为青色;
mc.lineStyle(1,0x00FFFF,100)
54 -- 71 个 5 叶曲线为黄色。
mc.lineStyle(1,0xFFFF00,100)
绘画语句清单:
createEmptyMovieClip("mc",1);
drawc();
setInterval(drawc,100);
function drawc(){
x0=400;y0=300;
for(j=0;j<18;j++){
mc.lineStyle(1,0xFF4400,100)
x1=x0+300*Math.cos(5*j*Math.PI/180);
y1=y0+200*Math.sin(5*j*Math.PI/180);
mc.moveTo(x1,y1);
for(i=0;i<=360;i+=5){
x2=x1+12*Math.cos(i*Math.PI/180)*Math.cos(5*i*Math.PI/180);
y2=y1+12*Math.sin(i*Math.PI/180)*Math.cos(5*i*Math.PI/180);
mc.lineTo(x2,y2);
}
}
}
变色漩涡(P317)
1.由 x0,y0(420,300),求出 x1,y1, moveTo(x1,y1);
2.由 x1,y1,求出 x2,y2, lineTo(x2,y2);
3.漩涡曲线分 3 段:
0 -- 69 个 5 叶曲线为红色;
mc.lineStyle(1,0xFF4400,100)
70 -- 139 个 5 叶曲线为绿色;
mc.lineStyle(1,0x00FF00,100)
140 -- 210 个 5 叶曲线为黄色。
mc.lineStyle(1,0xFFFF00,100)
绘画语句清单:
createEmptyMovieClip("mc",1);
drawc();
setInterval(drawc,100);
function drawc(){
x0=420;y0=300;
for(j=0;j<70;j++){
mc.lineStyle(1,0xFF4400,100)
x1=x0+(120+j)*Math.cos(8*j*Math.PI/180);
y1=y0+(100+0.7*j)*Math.sin(8*j*Math.PI/180);
mc.moveTo(x1,y1);
for(i=0;i<=360;i+=5){
x2=x1+12*Math.cos(i*Math.PI/180)*Math.cos(5*i*Math.PI/180);
y2=y1+12*Math.sin(i*Math.PI/180)*Math.cos(5*i*Math.PI/180);
mc.lineTo(x2,y2);
}
}
}