快速业务通道

AS3中拖曳影片剪辑并进行层级处理的方法

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08

先看看效果: 1、在FLA中建四个球,分别实例"ball1"、"ball2"、"ball3"、"ball4"。
2、main.as: package
{
importFlash.display.Sprite;
importflash.events.MouseEvent;
importflash.display.DisplayObject;
/**
*...
*@author沙子QQ:8286659http://www.taoshaw.com
*/
publicclassmainextendsSprite
{
//定义四个球
privatevarmy_ball1:ball1;
privatevarmy_ball2:ball2;
privatevarmy_ball3:ball3;
privatevarmy_ball4:ball4;
privatevarmy_Spr:Sprite;
publicfunctionmain()
{
_showball1();
_showball2();
_showball3();
_showball4();
my_Spr=newSprite();
//将第一个球显示在第一层,
my_Spr.addChildAt(my_ball1,0)
//将第二个球显示在第二层,
my_Spr.addChildAt(my_ball2,1)
//将第一个球显示在第三层,
my_Spr.addChildAt(my_ball3,2)
//将第一个球显示在第一层,
my_Spr.addChildAt(my_ball4,3)
my_ball1.addEventListener(MouseEvent.MOUSE_DOWN,startDrags)
my_ball1.addEventListener(MouseEvent.MOUSE_UP,stopDrags)
my_ball2.addEventListener(MouseEvent.MOUSE_DOWN,startDrags)
my_ball2.addEventListener(MouseEvent.MOUSE_UP,stopDrags)
my_ball3.addEventListener(MouseEvent.MOUSE_DOWN,startDrags)
my_ball3.addEventListener(MouseEvent.MOUSE_UP,stopDrags)
my_ball4.addEventListener(MouseEvent.MOUSE_DOWN,startDrags)
my_ball4.addEventListener(MouseEvent.MOUSE_UP,stopDrags)
//此句非要不可,否则出错.
addChild(my_Spr)
}

privatefunctionstopDrags(e:MouseEvent):void
{
e.target.stopDrag();
}

privatefunctionstartDrags(e:MouseEvent):void
{
e.target.startDrag();
//将当前点击的元件的层级设置为my_Spr所有子项目数的最高层.
my_Spr.setChildIndex(DisplayObject(e.target),my_Spr.numChildren-1)
}

privatefunction_showball4():void
{
my_ball1=newball1();
my_ball1.x=100;
my_ball1.y=200;

}

privatefunction_showball3():void
{
my_ball2=newball2();
my_ball2.x=150;
my_ball2.y=200;
}

privatefunction_showball2():void
{
my_ball3=newball3();
my_ball3.x=200;
my_ball3.y=200;
}
//显示第一个球体
privatefunction_showball1():void
{
my_ball4=newball4();
my_ball4.x=250;
my_ball4.y=200;
}

}

} 重要地方说明:
1、获取当前点击元件的实例:e.target.name。感谢etall跟蓝色海洋。。。要想获取当前点击元件就得e.target。
2、将元件调到最高级。。。
my_Spr.setChildIndex(DisplayObject(e.target),my_Spr.numChildren-1);
在使用DisplayObject之前,需要导入该类。import flash.display.DisplayObject;
3、关于拖曳其实比较简单。主要是获取当前点击的这个比较难。 附件下载:startdrag.rar 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号