0

目前每个加载器都是一个精灵的孩子—— sprite.addChild(loader);

接下来,我将精灵添加到带有 myBorder 电影剪辑的电影剪辑框 -- mainMovie.myBorder.box.addChild(sprite);

接下来我可以使用 --

mainMovie.addEventListener(MouseEvent.MOUSE_DOWN,pickUp); mainMovie.addEventListener(MouseEvent.MOUSE_UP,dropIt);

功能pickUp(事件:MouseEvent):无效{ sprite.startDrag(); }

 function dropIt(event:MouseEvent):void
 {
sprite.stopDrag();
 }

我希望每个精灵分开,但我无法理解在哪里使用“for while”循环。我只想提供最多上传 5 张图片的功能。

这里有人可以帮助我吗?谢谢安妮特 B。

4

2 回答 2

0

你不应该听“精灵”的拖累。您需要为每个要拖动的孩子单独的侦听器和处理程序。所以你需要听“精灵​​”的孩子:

sprite.loader.addEventListener(MouseEvent.MOUSE_DOWN,pickUp); 
sprite.loader.addEventListener(MouseEvent.MOUSE_UP,dropIt);

你也应该拖动孩子,而不是你的“精灵”容器:

 function dropIt(event:MouseEvent):void
 {
     sprite.loader.stopDrag();
 }

我不确定你想用 for while 循环来完成什么,但这里有一个基本 for 循环的例子,它创建了一堆加载器变量:

var loaderArray:Array = [];
for(var increment = 0; increment < numberOfUploads; increment++) {
    loaderArray[increment]:URLLoader = new URLLoader();
}

我希望这会有所帮助。如果我们能看到更多你的代码会更好。

于 2009-08-26T22:57:40.977 回答
0

一个简单的 for 循环应该做

所以而不是

mainMovie.addEventListener(MouseEvent.MOUSE_DOWN,pickUp); mainMovie.addEventListener(MouseEvent.MOUSE_UP,dropIt);

你应该有,假设你在盒子里没有其他剪辑,但是持有装载机的精灵,你需要确保精灵被添加到那里。您可能应该使用 for 循环来添加精灵和侦听器,但我无法准确地建议您,因为我没有足够的信息

for(var i:int = 0 ; i < 5 ; i++){
    mainMovie.myBorder.box.getChildAt(i).addEventListener(MouseEvent.MOUSE_DOWN,pickUp);;
}
stage.addEventListener(MouseEvent.MOUSE_UP,dropIt);

好的,解释:

for 循环是一种简单而强大的语言元素。我建议阅读文档,将示例代码复制并粘贴到新的 fla 中,调整并掌握它。这并不像看起来那么难。

我在舞台上添加 MOUSE_UP 处理程序,因为在 as3 中存在问题。在 as2 发布之外的作品。

于 2009-08-26T22:59:12.957 回答