Flash教程:ActionScript编程基础

  ActionScript是种面向对象编程语言.通常我们会认为编程就是连续地写系列指令,计算机按顺序地执行它.而面向对象编程则是将分成各个块,分散到对象上.什么是对象?对象就是我们在flash中能看到切东西.舞台是个对象,时间轴、影片剪辑、按钮、文本、位图都是对象.在第课中我们己说过:在ActionScript2.0中我们可以将写在关键帧、影片剪辑、按钮元件上.即便是将完全写在关键帧上,它也必须要对象事件驱动才能执行.

  在理解了面向对象编程后,我们必需要对些概念有所了解.事实上我们在上面对对象己经有了了解.就如同我们家中,所有东西都可以叫做对象.比如,电视机,电冰箱,书桌,衣柜等等.很容易发现,这些东西,总有那么几个都有相似的处.比如,电视机、电冰箱都需要用电;书桌、衣柜都是用木头做成. 我们便把家里东西分成了几类,并为每类东西取上个名字,比如,电器类、木器类等.这样我们就理解了另个重要概念"类".

  类是某类型对象概括或者说是模板,在ActionScript中,所有对象都是由类定义.每个类都包括了 3个重要元素:事件、属性、思路方法,这是我们必须要了解 3个重要概念.

  事件:在面向对象编程中,并不是将按顺序交给计算机去执行,上面己经谈到了,被分散到了对象上.那么要计算机执行这些就需要事件来触发.通俗地讲就是:当某件事情发生时就去做些事情.这个某件发生事情就是事件.在flash中,常常会放上个按钮,比如"开始"按钮.设计者可能是这样思路:当按钮按下时就播放动画.那么"当按钮按下时"就是按钮对象事件.在ActionScript2.O中,可以写在关键帧和元件上,事件在关健帧中和原件中输写思路方法是不.

  事件在关健帧中写法:

元件名称.事件名称 = function{
要执行语句
  ....
  }
  事件在元件上写法:
  on(事件名称){
  要执行语句
  .....
  }


  我们来做个练习,在舞台上有名为play_btn按钮,现在要实现点击按钮动画就播放.新建flash文档,用椭园工具画个园,然后,在40帧插入关健帧,将园移到另位置,建立补间动画.新建图层,从内部库中拖个按钮到舞台上.打开属性面板为按钮命名为play_btn.这里先介绍个最常用事件:release,这是当放开鼠标按键时触发.实际也就是完成了个点击动作时发生.

  首先在幀动作面板上写方式完成练习:

  新建图层命名为action当这不是必须你完全可以给它取个其它名字.

  打开幀动作面板输入:

  stop;
  //这是让动画停止播放以便让我们点击按钮时才播放.
  play_btn.onRelease = function{
  play;
  //让动画开始播放
         }


  测试影片当点击按钮后园形开始移动.

  回到场景中可以看到在action图层时间轴第1幀上个a字这介绍说明在这幀上有

  下面用在元件上写方式来完成练习:

  将幀动作除第stop;外其它全部删除.然后在按钮元件上点右键点击"动作"打开动作面板输入如下代码:

  On(replease){
  Play;
  }


  测试影片得到相同效果.

  注意:在幀动作面板中同元件动作面板中事件名称不如上例在幀动作中是:onRelease,而在元件上则是:release

  属性:对象属性可以理解为对象特性比如大小位置颜色等.属性输写规则是:

  对象名称.属性名称 = 值;

  下面介绍几个最常用属性:

  _x,_y:分别是对象在舞上台x,y坐标这两个属性可以确定对象在舞台上位置.

  _xscale,_yscale:分别是对象在舞台上沿x,y轴方向缩放比例实际上就是宽和高缩放比例以百分比表示例如:

  my_mc._xscale = 50;

  这表示元件my_mc宽度缩小到原来50%.

  _alpha:这是对象透明度取值为0-100.

  _rotation:这是对象旋转度以角度为单位.

  _visible:为是对象是否可见可设置两个值true(或1)和false(或0).比如要设置元件my_mc在舞台上不可见可用:

  my_mc._visible = false; 或 my_mc._visible = 0;

  相反要设置它在舞台上可见则用:

  my_mc._visible = true; 或 my_mc._visible = 1;

  :你可能要问,属性介绍完了该介绍思路方法了,你如何介绍起来了?原因很简单,思路方法也是.将附加到对象时,它就被称为思路方法.什么是呢?将完成个任务若干语句封装起来,就叫.也许用例子来介绍说明会好理解些.比如,要完成个开电视任务,可能需要很多步骤,插上电源,开机,选频道,设置音量.我们将这些步骤封装起来,并给它取个名字"开电视"这就创建了个开电视.在ActionScript2.O中创建格式是:

  function 名称{

  要执行语句;

  .....

  }

  比如要创建上面开电视,就这样写:

  function 开电视{

  插电源;

  开机;

  选频道;

  设音量;

  }

  创建以后,要这个只需:即可,比如我们要执行开电视任务,只需输入:

  开电视;

  练习下,我们来创建,然后它.打开第动作面板,输入:

  function test{
  trace("我会写了");
  }
  test;


  测试影片,在输出面板中,会出现"我会写了"几个字.这个练习我们首先创建了个叫test,然后用test;了它.

  有时会有这样情况,在语句中要用到数据,在创建时候,却不能确定这些数据,比如每次会用区别数据.这时就会用到参数,时,通过参数将数据传递给.格式如下:

  创建格式:

  function 名称(参数1,参数2,…){

  要执行语句

  }

  格式:

  名称(值1,值2,…);

  还是以开电视为例:

  创建开电视:

  function 开电视(频道,音量){

  插电源;

  开机;

  选频道=频道;

  设音量=音量;

  }

  :

  开电视(12,28);

  后,电视打开,并将频道设为12,音量设为28.

  练习:在帧动作面板中输入:

  function
  test(a,b){
  c=a+b;
  trace(c);
  
  }
  test(3,5);


  测试影片,输出面板中应显示 8 .

  了解了后,再来说思路方法就简单多了.上面已经说过,将附加到对象,就称为思路方法.AS中内置了很多思路方法,对于这些思路方法,我们不需要去了解它执行了些什么语句,只需要知道它可以完成任务就行了.我们可以用:

  对象名称.思路方法名称;

  格式来这些思路方法.比如有个my_mc影片剪辑元件,我们可以些思路方法:

  my_mc.stop;

  my_mc.startDrag;

  按钮:在交互式动画制作中, 经常会用到按钮,比如我们会放上个"播放"、"停止"、"重放"等按钮.有两种方式可以将按钮添加到舞台上,种是从内部库中拖个按钮到舞台上;另种思路方法是自己创建个按钮,这里主要介绍下自己创建按钮思路方法,常常有人会问:为什么我创建按钮点击它时不起作用?这可能就是创建按钮时出了问题.现在点击"插入"菜单-"创建新元件",选择按钮,这时就进入按钮编辑窗口,可以看到,时间轴上只有4帧,分别是:弹起,指针经过,按下,点击.特别要注意是,点击那帧,这帧是点击范围,因此这帧是必须,而且要注意是,如果你按钮是纯文字,如Play,那么在这幀应该画个矩型,作为点击范围,不然,用户就只有点击到文字笔划上才能触发按钮事件.在按钮编辑窗口中同样可以有很多层,比如第层为图形,第 2层为文字等.下面来制作个按钮:

  点击“插入”-“新建元件”选择按钮确定这样就进入元件编辑窗口

  在弹起那幀画矩形按钮大小吧黑色笔触灰色填充在指针经过那幀、按下幀幀、点击幀插入关键幀在指针经过幀将矩形填充色变为深灰色在按下那幀将边框线条粗细调为2新插入图层静态文本框输入“Play”.这样按钮就做好了

  现在可以将这个按钮从库中拖到舞台上测试影片当鼠标移到按钮上点下按钮时效果

  练习:按钮应用点击下按钮影片剪辑元件就向右移动新建影片剪辑元件就画个园就行了将这个mc拖入舞台上放到稍左位置打开属性面板为其取名为:my_mc新建个按钮然后拖入舞台,为其取名为:yy_btn.新插入命名为:action打开动作面板输入:



  yy_btn.onRelease = function{
  my_mc._x = my_mc._x + 10;
  }


  测试影片点击次按钮园就会向右移动

  作业:请用本章所介绍知识完成下效果:





Tags: 

延伸阅读

最新评论

发表评论