如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
不同容器中色块拖动以及排序的实现时间:2010-5-12点击次数:9928点击收藏描述:容器放入layer_arry数组管理,色块放入child_array数组管理,场景加入MOUSEDOWN和MOUSEUP侦听,hitTestPoint判断点击目标,目标放入cache,mouseup时清除cache,再用hitTestPoint判断释放目标,重排序并重定位。DragBlock.as文档类源代码:package{importflash.display.Bitmap;importflash.display.BitmapData;importflash.display.Shape;importflash.display.Sprite;importflash.display.MovieClip;importflash.display.DisplayObject;importflash.events.Event;importflash.events.MouseEvent;importflash.geom.Point;publicclassDragBlockextendsMovieClip{privatevarContainer:MovieClip;privateconstchild_w:uint=85;privateconstchild_h:uint=18;privateconstLayer_gap:uint=6;privateconstLayer_num:int=4;privateconstLayer_cnum:int=8;privatevarlayer_array:Array=newArray();privatevarchild_array:Array=newArray();privatevarbg_array:Array=newArray();privatevarnow_child:Sprite;privatevarcache_child:Sprite;privatevarnow_layer:Sprite;privatevarnew_layer:Sprite;publicfunctionDragBlock():void{vartmp_x:uint=50;vartmp_y:uint=50;vartmp_gap:uint=120;Container=rootasMovieClip;for(vari:int=0;i<Layer_num;i++){varlayer:Sprite=CreateLayer(tmp_x+i*tmp_gap,tmp_y);Container.stage.addChild(layer);}now_child=newSprite();cache_child=newSprite();now_layer=newSprite();new_layer=newSprite();cache_child.alpha=0.65;Container.stage.addChild(cache_child);Container.stage.addEventListener(MouseEvent.MOUSE_DOWN,MouseDownHandler);Container.stage.addEventListener(MouseEvent.MOUSE_UP,MouseUpHandler);}//----CreatePart--------------------------------------------------------------------------------------privatefunctionCreateLayer($x,$y):Sprite{varlayer_num:int=Math.random()*Layer_cnum+1;vartmp_num:int=0;varlayer:Sprite=newSprite();varlayer_bg:Shape=newShape();layer.x=$x;layer.y=$y;vartmp_w:uint=Layer_gap*2+child_w;vartmp_h:uint=Layer_gap+(layer_num)*(Layer_gap+child_h);CreateBG(layer_bg,tmp_w,tmp_h);layer.addChild(layer_bg);while(tmp_num<layer_num){vartmpChild:Sprite=CreateChild();tmpChild.x=Layer_gap;