Страница 1 из 1

Добавление и удаление Nное кол.во объектов.

Добавлено: 06 ноя 2012, 17:47
wierusna
Натолкните на мысль или помогите с кодом:

Код: Выделить всё

 var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x000000,0.5); mc.graphics.drawRect(50,50,100,100); mc.graphics.endFill(); container.addChild(mc);mc.name = "LOL";    btn1.addEventListener(MouseEvent.CLICK, addtostage);function addtostage(e:MouseEvent):void {var mc:MovieClip = new MovieClip();     mc.graphics.beginFill(0x000000,0.5); mc.graphics.drawRect(50,50,100,100); mc.graphics.endFill(); container.addChild(mc);mc.name = "LOL";}  btn1.addEventListener(MouseEvent.CLICK, deletefromstage);function deletefromstage(e:MouseEvent):void {        //действие    } if (container.getChildByName("LOL") != null) {  mc.addEventListener(MouseEvent.MOUSE_DOWN, sdrag);function sdrag(e:MouseEvent):void{mc.startDrag();}mc.addEventListener(MouseEvent.MOUSE_UP, stdrag);function stdrag(e:MouseEvent):void{mc.stopDrag();} } 

Задача :

при КАЖДОМ нажатии кнопки btn1 добавлять 1 объект в container при условии, что предыдущие объекты сохранялись и каждый из объектов можно было перемещать мышью по сцене с помощью startDrag и stopDrag .
То есть кол.во нажатий на кнопку = кол.во объектов на сцене.

При нажатии кнопки btn2 удалять все объекты в container.

Вот пример для наглядности http://mega-tv.do.am/flapps.swf (мой - неправильно работает)
1. Перетащите куб мышкой
2. Нажмите на добавить.

В итоге первый куб можно двигать, а второй нет(

п.с. Ничего не приходит в голову( помогите!

Re: Добавление и удаление Nное кол.во объектов.

Добавлено: 07 ноя 2012, 02:48
sanych_dv
Есть готовое решение: http://sanych.info/work/dragobjects/index.html

Пишите в личку.

Re: Добавление и удаление Nное кол.во объектов.

Добавлено: 07 ноя 2012, 06:41
Alazaur
Позволю себе подправить код из первого поста до рабочего состояния :roll:

Код: Выделить всё

 btn1.addEventListener(MouseEvent.CLICK, addToStage);btn2.addEventListener(MouseEvent.CLICK, deleteFromStage); function addToStage(e:MouseEvent):void {    var mc:MovieClip = new MovieClip();        mc.graphics.beginFill(0x000000,0.5);    mc.graphics.drawRect(50,50,100,100);    mc.graphics.endFill();    mc.addEventListener(MouseEvent.MOUSE_DOWN, startDraging);    mc.addEventListener(MouseEvent.MOUSE_UP, stopDraging);    container.addChild(mc);} function deleteFromStage(e:MouseEvent):void {    while(container.numChildren)    {        container.getChildAt(0).removeEventListener(MouseEvent.MOUSE_DOWN, startDraging);        container.getChildAt(0).removeEventListener(MouseEvent.MOUSE_UP, stopDraging);        container.removeChild(container.getChildAt(0));    }} function startDraging(e:MouseEvent):void {    e.currentTarget.startDrag();} function stopDraging(e:MouseEvent):void {    e.currentTarget.stopDrag();}