拖动问题

mwj914 2011-04-13 01:42:28
请各位帮忙看看,现在的MC都是重叠在一起的,怎样可以分开排在targetMC上面呢?
var targetArr:Array=[a1,a2,a3,a4,a5];
var tempArr:Array=targetArr;
for (var i:int=0; i<targetArr.length; i++) {
targetArr[i].addEventListener(MouseEvent.MOUSE_DOWN,drag);
targetArr[i].addEventListener(MouseEvent.MOUSE_UP,drog);
}
function drag(e:MouseEvent):void {
var tempMC:MovieClip=e.target as MovieClip;
tempMC.startDrag();
addChild(tempMC);
}
function drog(e:MouseEvent):void {
e.target.stopDrag();
for (var i:int=0; i<targetArr.length; i++) {
if (e.target.hitTestObject(targetMC)) {
e.target.y=targetMC.y;
e.target.x=targetMC.x+i*(e.target.width);
}
}
}
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwj914 2011-04-14
  • 打赏
  • 举报
回复
现在这样是可以排列起来,但就是必须按照1、2、3、4、5的顺序来排
var targetArr:Array=[a1,a2,a3,a4,a5];
for (var i:int=0; i<targetArr.length; i++) {
targetArr[i].buttonMode=true;
targetArr[i].addEventListener(MouseEvent.MOUSE_DOWN,drag);
targetArr[i].addEventListener(MouseEvent.MOUSE_UP,drog);
}
function drag(e:MouseEvent):void {
var tempMC:MovieClip=e.target as MovieClip;
tempMC.startDrag();
addChild(tempMC);
}
function drog(e:MouseEvent):void {
e.target.stopDrag();
if (e.target.hitTestObject(targetMC)) {
e.target.y=targetMC.y;
e.target.x=targetMC.x+targetArr.indexOf(e.target)*(e.target.width);
}
}
mwj914 2011-04-14
  • 打赏
  • 举报
回复
还是一样叠在一起啊
diffmaker 2011-04-13
  • 打赏
  • 举报
回复
e.target.x=targetMC.x+targetMC.numChildren*(e.target.width);

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧