My FAQ,最新最全的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 责编:MyFAQ
              摘要:MX2004--AS2.0 新特性实例教程(一)

1.Array.sort()和Arrat.sortOn()

    现在这两个方法允许你增加参数来制定额外的排序规则,比如升序排列,降序排列,是否考虑大小写等等。而Flash MX中只能够按照升序排列,并且是按照先大写后小写的顺序的。
例:

my_array=new Array();
my_array.push({Name:"jinni",Age:20});
my_array.push({Name:"Sucy",Age:22});
my_array.push({Name:"alien",Age:20});
my_array.push({Name:"jinni_Alien",Age:9});

for(i=0;i<4;i++)
for (temp in my_array[i])
trace(my_array[i][temp]);
trace("\n");
//以下四种任选其一进行测试

//普通,只提供一个字段,按升序,先大写后小写排序
my_array.sortOn("Age");

for(i=0;i<4;i++)
for (temp in my_array[i])
trace(my_array[i][temp]);
trace("\n");
//提供字段列表,先按前一个字段排序,如果第一个字段值相同的项存在
//按照第二个字段进行子排序,以此类推,规则同前
my_array.sortOn(["Age","Name"]);

for(i=0;i<4;i++)
for (temp in my_array[i])
trace(my_array[i][temp]);
trace("\n");
//提供字段和排序规则,排序规则的内容如下:
//1 或者 Array.CASEINSENSITIVE 忽略大小写
//2 或者 Array.DESCENDING 降序排列
//4 或者 Array.UNIQUE 如果数组中含有排序字段值相同的项,
// 则该方法返回0,且不改变原数组
//8 或者 Array.RETURNINDEXEDARRAY 不改变原数组,而返回更改后的数组
//16 或者 Array.NUMERIC 按照数字大小,换句话说,2不会排在1X的后面
//可以同时使用多种规则,可以用|连接多个规则,例如sortOn("name",1|2)
//也可以写他们的和,比如想同时使用规则2,16,可以写sortOn("age",18)
my_array.sortOn("Name",3);

for(i=0;i<4;i++)
for (temp in my_array[i])
trace(my_array[i][temp]);
trace("\n");
//提供字段列表和排序规则,就是第二类和第三类的综合
myArray.sortOn(["Age","Name"],16);

for(i=0;i<4;i++)
for (temp in my_array[i])
trace(my_array[i][temp]);
trace("\n");
 

2.onMouseWheel

    对Mouse()对象增加了onMouseWheel事件,用来监测鼠标滑轮事件,需要放到侦听器中使用。
    这个事件的处理函数可以有两个可选参数:
a) delta:
    表征鼠标滑轮滚动的方向及速度,正数为向上滚动,负数为向下,取值范围-3,-2,-1,1,2,3,delta的绝对值越大,说明滚动的幅度越大。
b) scrollTarget:
    如果使用scrollTarget,则设delta为null。
    这个参数我还没有搞清楚,从帮助来看似乎是当鼠标滑轮滚动时,在鼠标所在位置处于最上方的电影剪辑实例。

    例:

myListener = new Object();
myListener.onMouseWheel = function(delta)
{
trace("Mouse Wheel Test!\nScroll:"+delta);
    }
Mouse.addListener(myListener);

    注意,在测试前先用鼠标点击一下动画,确保动画可以接收键盘和鼠标的事件。

3.MoiveClip.getSWFVersion()

    返回发布MoiveClip的SWF动画的浏览器的版本号,一个整数。如果MovieClip是一个JPG文件,或发生错误,无法获得版本号,则返回-1。
例:

trace(_root.getSWFVersion());

    返回值7。

4.MovieClip.getNextHighestDepth()

    这个方法可以让你获得MovieClip内部的一个可用depth值, 这个值比所有已被其他元件占据的depth的值高。 这样可以确保你在这个mc内部进行绑定,复制,创建mc时新出现的mc一定在已存在的mc上方。
    这个方法只返回0或正值。下面的例子可以很好的帮你理解它:
例:
    建立一个新的mc,命名为my_mc,在my_mc内部,手工的添加两个新的mc:my2_mc,my3_mc,添加如下代码:

trace(my_mc.getNextHighestDepth());

    输出结果为0,表明0比现在任何一个my_mc中任何一个子mc的深度高。(因为手工创建的mc的默认深度均为负值)
    将代码改为:

my_mc.my2_mc.swapDepths(5);
my_mc.my3_mc.swapDepths(10);
trace(my_mc.getNextHighestDepth());

    输出结果为11,怎么样?明白了吧?
    一般来说,通过该方法返回的值为比当前所有子mc的深度最高值+1。当然,如果所有子mc的深度都小于0,则该方法返回0。

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