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

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

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

Сообщение wierusna » 06 ноя 2012, 17:47

Натолкните на мысль или помогите с кодом:

  1.  
  2. var mc:MovieClip = new MovieClip();
  3. mc.graphics.beginFill(0x000000,0.5);
  4. mc.graphics.drawRect(50,50,100,100);
  5. mc.graphics.endFill();
  6. container.addChild(mc);
  7. mc.name = "LOL";
  8.  
  9.  
  10.  
  11.  
  12. btn1.addEventListener(MouseEvent.CLICK, addtostage);
  13. function addtostage(e:MouseEvent):void {
  14. var mc:MovieClip = new MovieClip();    
  15. mc.graphics.beginFill(0x000000,0.5);
  16. mc.graphics.drawRect(50,50,100,100);
  17. mc.graphics.endFill();
  18. container.addChild(mc);
  19. mc.name = "LOL";
  20. }
  21.  
  22.  
  23. btn1.addEventListener(MouseEvent.CLICK, deletefromstage);
  24. function deletefromstage(e:MouseEvent):void {
  25.    
  26.     //действие
  27.    
  28. }
  29.  
  30. if (container.getChildByName("LOL") != null) {
  31.  
  32.  
  33. mc.addEventListener(MouseEvent.MOUSE_DOWN, sdrag);
  34. function sdrag(e:MouseEvent):void
  35. {
  36. mc.startDrag();
  37. }
  38. mc.addEventListener(MouseEvent.MOUSE_UP, stdrag);
  39. function stdrag(e:MouseEvent):void
  40. {
  41. mc.stopDrag();
  42. }
  43.  
  44. }
  45.  



Задача :

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

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

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

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

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

 
Автор темы
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40
Благодарил (а): 11 раз.
Поблагодарили: 1 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



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

Сообщение sanych_dv » 07 ноя 2012, 02:48

Есть готовое решение: http://sanych.info/work/dragobjects/index.html

Пишите в личку.
sanych_dv
Разработчик
Разработчик
 
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52
Благодарил (а): 1 раз.
Поблагодарили: 77 раз.

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

Сообщение Alazaur » 07 ноя 2012, 06:41

Позволю себе подправить код из первого поста до рабочего состояния :roll:
  1.  
  2. btn1.addEventListener(MouseEvent.CLICK, addToStage);
  3. btn2.addEventListener(MouseEvent.CLICK, deleteFromStage);
  4.  
  5. function addToStage(e:MouseEvent):void
  6. {
  7.     var mc:MovieClip = new MovieClip();    
  8.     mc.graphics.beginFill(0x000000,0.5);
  9.     mc.graphics.drawRect(50,50,100,100);
  10.     mc.graphics.endFill();
  11.     mc.addEventListener(MouseEvent.MOUSE_DOWN, startDraging);
  12.     mc.addEventListener(MouseEvent.MOUSE_UP, stopDraging);
  13.     container.addChild(mc);
  14. }
  15.  
  16. function deleteFromStage(e:MouseEvent):void
  17. {
  18.     while(container.numChildren)
  19.     {
  20.         container.getChildAt(0).removeEventListener(MouseEvent.MOUSE_DOWN, startDraging);
  21.         container.getChildAt(0).removeEventListener(MouseEvent.MOUSE_UP, stopDraging);
  22.         container.removeChild(container.getChildAt(0));
  23.     }
  24. }
  25.  
  26. function startDraging(e:MouseEvent):void
  27. {
  28.     e.currentTarget.startDrag();
  29. }
  30.  
  31. function stopDraging(e:MouseEvent):void
  32. {
  33.     e.currentTarget.stopDrag();
  34. }
  35.  
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.


Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0