ActionScript的一些“不为人知”的技巧

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

用这篇文章来专门收集一些ActionScript不为人知,抑或是不常见的一些技巧或问题。希望对大家有所帮助!

这篇文章本人亦会不断更新和修正。

1. TextFormat.URL

很多人都知道使用textField.htmlText来写超文本的方式,可是似乎很少人知道其实我们还可以使用TextFormat.URL来定义。

1 : myFormat = new TextFormat();

2 : myFormat.url = "http://www.zhitiao.com";

3 : my_txt.html = true; //这是必须的

4 : my_txt.htmlText = "一张纸条工作室";

5 : my_txt.setTextFormat(myFormat);

2. 使用Javascript方法

通常trace方法的浏览器替代方法可以使用

1 : function debug(info){

2 : getUrl("javascript:alert('" + info + "')");

3 : }

如果使用超文本链接的话,可以直接使用

my_txt.html = true;

my_txt.htmlText = "<a href=javascript:alert('欢迎光临一张纸条工作室!')>一张纸条工作室</a>";

3. 复制数组

如果使用下面的复制数组的方法只是一个指向,并没有形成真正的拷贝。

[ Copy ] [ Run ] [ Save ]

1 : b_array = a_array;

2 : //当a_array数组内容改变的时候,b_array的内容也随之改变了

3 : //解决方法可以使用下面的方式

4 : b_array = a_array.slice();

4. 卸载拖入舞台的MC

我们知道只有动态创建的mc才可以使用removeMovieClip()方法来卸载,帮助中对removeMovieClip方法的说明如下:

Quote

删除用 duplicateMovieClip()、MovieClip.duplicateMovieClip() 或

MovieClip.attachMovie() 创建的影片剪辑实例。

下面的技巧可以让我们随心所欲的卸载你需要的MC,即使是你拖入舞台的组件等。

1 : My_mc.swapDepths(100);//把mc的深度值设定为大于0的值

2 : My_mc.removeMovieClip();//这样就可以正常卸载mc了

是不是很有用哦。

PS:使用my_mc.unloadMovie() 以可以删除mc实例,但是却保留了实例属性和剪辑处理函数。用removeMovieClip() 可以删除实例(包括其属性和剪辑处理函数)。

5. 魔法深度值?16384

我们知道Flash中的元素使用深度的概念,所有创作中的元素都从 -16383 开始,所以如果我们要让某个元素显示在最底层的话,可以把深度设定为魔法深度值。

其中原因我们不妨深究下:

原来Macromedia's mx.managers.DepthManager 类中定义了下面的值:

[ Copy ] [ Run ] [ Save ]

1 : // highest allowed depth is reserved for tooltips and cursors

2 : static var reservedDepth:Number = 1048575;

3 : // highest depth for all other objects

4 : static var highestDepth:Number = 1048574;

5 : // lowest allowed depth

6 : static var lowestDepth:Number = -16383;

7 : // lowest depth plus this number of layers is reserved

8 : // for statically placed content

9 : static var numberOfAuthortimeLayers:Number = 383;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有