复制代码
if (this._x>430) {
this._x = 20;
}为:
if (this._x>430) {
delete this.onEnterFrame
}
那么,这个事件被删除,小球停止运动。
二、画正玄图象
1、新知识点:
(1)my_mc.createEmptyMovieClip(instanceName, depth)
创建作为现有影片剪辑(my_mc)子级的空影片剪辑;
instanceName:创建的子级影片剪辑的名称;
depth:创建的子级影片剪辑的名称.
(2)my_mc.lineStyle(线条宽度,线条颜色,线条透明度);
my_mc.moveTo(起点横坐标, 起点纵坐标);
my_mc.lineTo(终点横坐标, 终点纵坐标);
(3)正玄函数
y=sin(x)
其中y为-1到1之间。
2、例3.2.2 源程序脚本:(都写在场景的第1帧)
点击查看动画效果<
复制代码
i = 0; //变量初始化;
createEmptyMovieClip("mc", 5);//在主时间轴下创建影片mc,深度为1
with (mc) { //下面几条都是对mc的操作
lineStyle(2, 0x00ff00, 100);//画线条的宽度为2,色彩为绿色,透明度为100
moveTo(100, 50); //画竖线的起点横坐标100,纵坐标50
lineTo(100, 300); //画竖线的终点横坐标100,纵坐标300;
moveTo(50, 200); //画横线的起点横坐标50,纵坐标200
lineTo(480, 200); //画横线的终点横坐标480,纵坐标200
moveTo(100, 200); //画正玄的起点
lineStyle(1, 0xff0000, 100);//正玄线的宽度为1,色彩为红色,透明度为100
}
onEnterFrame = function () {//执行主时间轴下的事件处理函数
x = 100+i; //横轴表示角度,这里i为角度变化。计算正玄函数的横坐标;100是坐标原点横坐标
y = 200-100*Math.sin(i*Math.PI/180);//计算正玄的纵坐标;
mc.lineTo(x, y); //正玄线的下一点的坐标
i++;
if (i>=360) { //正玄函数的一个周期360度
delete onEnterFrame;//删去这个事件处理函数
}
};
3 作业:
A :把上面的画正玄函数改动为:
(1)坐标原点为(100,100);
(2)函数高度为50;
(3)每隔5度画一点。
B: (选作)把上面的画正玄函数改动为:正玄图象起点的横坐标、震幅、跨度由输入文本控制如下图的形式
点击查看动画效果<
查看全套"Flash AS 高级教程"










