中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 图形图象 > 网页设计 > Flash
MX2004--AS2.0 新特性实例教程(二)
作者:未知 时间:2005-04-07 12:12 出处:ChinaZ.com 责编:chinaitpower
              摘要:MX2004--AS2.0 新特性实例教程(二)

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 = "CSS Test!";

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有