[1u]
节问题讨论交流
[/1u]
[url=http://suiyi.flasher123.com/fas/3/luyin/as1_1.ra]
[/url]
本讲录音下载
[url=http://suiyi.flasher123.com/fas/3/flash/3.7.1.rar]
源文件下载[/url]
[1b] [/1b]
3.7 作业评讲
一 3.2的作业---画正玄图象,由外部输入控制起点横坐标、震幅和跨度。
思路:我们可以在作业源程序中发现:
.......
moveTo(100, 200); //正玄线的起点坐标为(100,200)可以把横坐标用一个变量(a)来表示
........
y = 200-100*Math.sin(i*Math.PI/180);//其中100决定震幅大小,我们可以用变量(b)来表示;横坐标1个象数,对应表示1度的角度,在一个周期360度的条件下,如果横坐标1个象数对应几度,那么跨度显然会减小,就是说sin(i*Math.PI/180)中i的系数决定跨度的大小,经过反复测试这个系数为360/c比较合理。因此,原来程序中的这两条可以改为:
moveTo(a, 200);
y = 200-b*Math.sin(360/c*i*Math.PI/180)
为了能够重复使用这个画图程序,显然我们应该用自定义函数,上面的三个变量就可以做为参数。
打开源程序3.7.1.fla文件,这里只记与作业不同的地方:
第1帧上:
a = b=c=""; //对输入文本变量赋初值
function huaxian(a, b, c) { //自定义函数,函数名为huaxian,参数为三个文本变量
............
y = 200-b*Math.sin(360/c*i*Math.PI/180);//b决定震幅,c决定跨度
.....
if (i>c) { //超过360度时(由360/c*i>360计算得到i>c)
delete onEnterFrame; //删除事件
}
};
}
huaxian(100, 100, 360); //先画一个正玄图象
按扭上的脚本:
on (release) {
if (c 二 3.5作业---把文字和下面的mc的位置都分别作任意的排列
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/1150.html