| 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类是Flash的内建类,用来声明一个错误
 //你可以在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语句不同的是,它不论try语句中是否抛出了异常,
 它都会执行,因为这种特性,所以finally经常会做一些“清理”工作。
 例:(这是Flash帮助中的例子)
 
 var account = new Account()
 try {
 var returnVal = account.getAccountInfo();
 if(returnVal != 0) {
 throw new Error("Error getting account information.");
 }
 }
 finally {
 // Delete the 'account' object no matter what.
 // 删除account对象(无论是否有异常)
 if(account != null) {
 delete account;
 }
 }
 
 
 7.CSS Support:
 对文本使用css的步骤:
 a) 创建定义css的文本。
 b) 创建TextField.StyleSheet()对象。
 c) 通过TextField.StyleSheet()对象的parseCSS()应用css文本。
 d) 将文本的styleSheet属性设为刚才创建的styleSheet对象的实例名。
 e) 在文本中应用css。
 
 例:
 
 //css定义:红色,大小20px,斜体,下划线
 cssText=".red {color:#ff0000;
 font-size:20px;
 font-style:italic;
 text-decoration: underline;} ";
 myStyleSheet = new TextField.StyleSheet();
 myStyleSheet.parseCSS(cssText);
 //文本中应用css
 _root.createTextField("cssTest_txt",10,200,200,300,100);
 cssTest_txt.styleSheet = myStyleSheet;
 cssTest_txt.htmlText = "<span class='red'>CSS Test!</span>";
 出处:蓝色理想
责任编辑:蓝色
 上一页 MX2004--AS2.0 新特性实例教程 [1] 下一页 MX2004--AS2.0 新特性实例教程 [3] ◎进入论坛Flash专栏版块参加讨论
	      |