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

Flash动画制作
FLASH MX 2004右键菜单秀
轻松打造Flash帧速率测试器
Flash制作马赛克效果
一些Flash经验法则
Flash MX 2004 UI组件系列教程(2)
Flash加载外部文件(1)
Flash加载外部文件(4)
Flash MX 2004 UI组件系列教程(6)
Flash MX 2004 UI组件系列教程(5)
Flash MX 2004 UI组件系列教程(7)
Flash MX 2004滚动文本框的两种做法
Flash MX 2004 UI组件系列教程(1)
Flash 8中文版视频教程 滤镜-渐变发光
Flash 8中文版视频教程 滤镜-斜角
Flash 8中文版视频教程 滤镜-渐变斜角
PowerPoint中使用Flash的两点技巧
Flash动画 让其巧妙的设置成桌面上的布景
Flash 8中文版视频教程 滤镜-调整颜色
Flash 8中文版视频教程 绘画-联合
Flash 8中文版视频教程 绘画-裁切

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 64 ::
收藏到网摘: 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语句不同的是,它不论