、 Flash中自定义般形式为:
function 名称(参数1参数2……参数n){
//体即代码
}
自定义必须才有效自定义般形式为:
路径.名称(参数1参数2……参数n)
就像变量样必须正确使用目标路径才能它们
2、例题
例1 假设我们要定义个计算矩形面积可以这样:(打开21.1.fla)
shu1 = shu2=dan="";//设置输入文本和动态文本
function jxmj(a, b) {//自定义计算矩形面积
a*b; //在这里返回结果也就是得到返回值
}
然后在按扭中这个: on (release) {
dan = jxmj(shu1, shu2);//分别用两输入文本值作为参数a,b;并且把返回值用动态文本显示出来
}
利用这个计算矩形面积就可以计算任何矩形面积例2 打开21.2.fla源文件
这是我们前面个作业中是部分当在“控制”按钮、“小松鼠”影片剪辑或者“小球”影片剪辑上按下鼠标时小松鼠和小球分别按照相反方向运动;这 3个事件要达到目都样所以脚本必定重复我们可以使用自定义
在场景第帧脚本:
function yd { //自定义名称为yd;
gotoAndPlay(1); //场景到第1帧播放;
qiu_mc.gotoAndPlay(31);//qiu_mc到第31帧播放;
}
在松鼠上脚本: on (press) {
_root.yd//自定义在这个影片父级(场景)上因此应该指出路径
(_root)
}
在球上脚本: on (press) {
_root.yd//同上;
}
在按扭上脚本: on (press) {
yd//按扭和自定义都在场景上路径可以省略不写
}
例3 打开21.3.fla源文件源文件中有 3个mc在做补间动作下面 3个按扭分别控制场境中 3个mc观察这 3个按扭上脚本左边个按扭上脚本为:
on (release) {
a_mc._visible = 1;
duplicateMovieClip(a_mc, "a_mc"+1, 1);
b_mc._visible = 0;
c_mc._visible = 0;
}
中间个按扭上脚本为: on (release) {
b_mc._visible = 1;
duplicateMovieClip(b_mc, "b_mc"+1, 1);
a_mc._visible = 0;
c_mc._visible = 0;
}
右边个按扭上脚本为: c_mc._visible = 1;
duplicateMovieClip(c_mc, "c_mc"+1, 1);
a_mc._visible = 0;
b_mc._visible = 0;
}
注意观察这 3个按扭上脚本中有那些是相同部分那些是区别部分相同部分在中直接写下来而区别部分(变化着部分)用用个变量来表示这个变量就是参数例如这 3个按扭上脚本中第句中相同部分是都有_visible = 1而区别则是要显示mc(分别是a_mc,b_mc,c_mc),我们用变量mx来表示那么 3个按扭上脚本中第句可以统表示为:
mx._visible = 1这里mx就是第个参数
这 3个按扭上脚本中第 2句中相同部分是都要复制个mc复制后mc名称都是复制对象名称+1复制后mc深度都是1;区别部分就是复制对象区别而这个复制对象正好第句中mc,因此第 2句中区别部分也就可以用第个参数mx来表示因此 3个按扭上脚本中第 2句可以统表示为:
duplicateMovieClip(mx, "mx"+1, 1).
同样办法可以得到脚本第3第4句因此我们可以在场景第1帧上设置自定义: function test (mx,my,mz) {//test是自定义名称你可以用
mx._visible = 1; //你喜欢字母或者字母组合或者单词来表示
duplicateMovieClip(mx, "mx"+1, 1);
my._visible = 0;
mz._visible = 0;
}
左边这个按扭是要使a_mc显示并且复制因此第个参数在这里表示应该是a_mc第 2 3个参数在这里表示应该是b_mc,c_mc;因此在这里应该写成: on (release) {
test(a_mc,b_mc,c_mc)
}
仿照上面思路请大家在后两个按扭上分别写出脚本,使个mc显示并且复制另两个mc不可见3、作业:
把源文件中6个按扭上脚本都改为自定义形式源文件 21.作业.fla
提示:
1 连+20或者连-20可以表示为1*20或者-1*20;
2 注意使用...
最新评论