AS3 - 可以将多个图像上传到舞台,想要分别调整尺寸和移动

时间:2009-08-26 22:31:53

标签: actionscript-3 sprite

目前每个加载器都是sprite的子项 - sprite.addChild(loader);

接下来,我将精灵添加到movieClip框中,该框与myBorder movieClip一起使用 - mainMovie.myBorder.box.addChild(sprite);

接下来我可以使用 -

拖动精灵

mainMovie.addEventListener(的MouseEvent.MOUSE_DOWN,皮卡); mainMovie.addEventListener(侦听MouseEvent.MOUSE_UP,dropIt);

function pickUp(event:MouseEvent):void       {     Sprite.startDrag()将;       }

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

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

这里有人可以帮助我吗? 谢谢Annette B.

2 个答案:

答案 0 :(得分: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();
}

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

答案 1 :(得分: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发布之外的作品。