当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > MX2004--AS2.0 新特性实例教程(二)

Flash动画制作
AS3.0实用代码:绘制各种各样三角形
AS代码研究实例:随即运动参数的传递应用
Flash制作3D类动画的教程
Flash AS3制作个性的旋转圆形网页导航
Flash AS2实例:跳动的小球动画效果
Flash交互动画制作技巧:按钮控制动画
Flash AS教程:详细讲解Math对象
Flash动画制作技巧:搞笑动画制作实例
Flash制作技巧:人物行走动画制作剖析
Flash AS3常用的关于MC的代码
Flash AS3.0教程:间隔循环的3种表现方式
Flash动画实例:简单的流星雨动画特效
Flash制作高级的人物行走动画
10个让你大饱眼福的创意Flash网站
Flash实例教程:吸管喝饮料动画
Flash CS4实例教程:漂亮的气泡动画
汇总网页传递参数到flex中的三种方法
AS教程:加载与被加载swf内部变量相互调用
Flash CS4教程:文字颜色缓动特效
Flash CS实例教程:幸运大抽奖动画

Flash动画制作 中的 MX2004--AS2.0 新特性实例教程(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 28 ::
收藏到网摘: n/a

5.MovieClip.getInstanceAtDepth(depth)

  这个方法也是于depth有关的,它用来确定指定深度是否已被mc占据

  例:

  新建一个mc,命名my_mc,添加如下代码:

trace(_root.getInstanceAtDepth(10));

  输出:undefined,说明没有mc占据depth 10,原因如上,所有手工建立的mc的depth都是负值,改代码为:

my_mc.swapDepths(10);trace(_root.getInstanceAtDepth(10));

  输出结果:

  _level0.my_mc

6.throw & try....catch....finally....

  这几样东东全是针对异常处理的,学过java的朋友一定不陌生不过鉴于还有许多人可能没有接触过java,我还是简单介绍一下

  a) 什么叫异常(Exception)?

  是指特殊的运行错误现象,通常是人为因素造成的。例如输入输出错误,除数为0,未找到相应的文件等等,都是属于异常。

  b) 异常抛出(throw)

  如果在程序过程中发生了一个可识别的错误,就产生一个对应的异常类的实例。这个过程叫做异常的抛出。

  例:

function checkDivide(x:Number,y:Number) {
if (y==0) {
throw new Error("Divide Error");
//当发生分母为0的错误时,抛出一个Error类对象
//Error类是的内建类,用来声明一个错误
//你可以在bulit-in class-Core中找到它
}
}

  c) 异常的捕捉和处理

  当一个异常被抛出的时候,不应该“抛后不理”,而应该设定专门的语句来捕捉它,当捕捉到异常的时候,程序可以进行对应的处理,例如跳转,或是终止程序运行等等。当执行一个可能会产生异常的方法时,为了捕捉它,应将他放到try{}语句块中,可以理解为“尝试运行....”捕捉异常用catch(e){},其中e为异常类Error的实例的名称。

  例:

try { checkDivide(10,0);} catch (e) { error_txt.text = e.toString(); //toString()是Error类的方法, //将用户在创建实例时给出的错误信息(本例是"Divide Error")输出}

  另外,可以自定义异常类,但要求所有用户自定义异常类必须是Error类的子类

  例:

class DivideError extends Error { //通过extends继承Error类 var message =" "; //message是Error类的类属性,表示错误信息 DivideError() //构造函数 { this.message="Divide Error"; }}

  抛出自定义异常:

function checkDivide(x:Number,y:Number) { if (y==0) { throw new DivideError(); //抛出自定义异常 }}

  d)finally

  finally与catch一样,要与try语句联合使用,关系如下:

  一个try语句后面必须跟有catch语句,或finally语句,或者两者都有,程序会先运行catch语句,然后在运行finally语句,前提是它们存在。

  finally语句与catch语句不同的是,它不论