Flash AS 入门 as自定义函数

2019-10-08 14:37:26于海丽

 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;
 }

注意观察这三个按扭上脚本中有那些是相同的的部分,那些是不同的的部分。相同的部分,在函数中直接写下来,而不同的部分(变化着的部分)用用一个变量来表示,这个变量就是参数。

  例如,这三个按扭上脚本中第一句中相同的部分是都有_visible = 1,而不同的则是要显示的mc(分别是a_mc,b_mc,c_mc),我们用变量mx来表示,那么,三个按扭上脚本中第一句可以统一表示为:

  mx._visible = 1。这里的mx就是第一个参数。

  这三个按扭上脚本中第二句中相同的部分是都要复制一个mc,复制后的mc的名称都是复制对象名称+1,复制后的mc的深度都是1;不同的部分就是复制的对象不同,而这个复制的对象正好的第一句中的mc,因此,第二句中不同的部分也就可以用第一个参数mx来表示,因此,三个按扭上脚本中第二句可以统一表示为:


复制代码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,第二,三个参数在这里表示的应该是b_mc,c_mc;因此,在这里调用的函数应该写成:

复制代码
  on (release) {
  test(a_mc,b_mc,c_mc)
  }

仿照上面的思路,请大家在后两个按扭上分别写出脚本,使一个mc显示并且复制,另两个mc不可见。

  三、作业:

  把源文件中6个按扭上的脚本都改为调用自定义函数的形式。源文件 21.作业.fla

  提示:

  1 连+20或者连-20可以表示为1*20或者-1*20;

  2 注意使用if...else if