![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
здравствуйте.такой вопрос,есть фла,нарисовал две фигуры простые на сцене, сцену привязал к классу
package { import flash.display.*; public class ConterChild extends MovieClip { private var schet:int = 0; public function ConterChild() { schet = stage.numChildren; trace(schet) } } } выдает 1, хотя две фигуры нарисованы.вчера ночью как то сделал,но не сохранил,теперь не пойму почему сейчас не получается |
|
|||||
|
Здравствуйте. Попробуйте преобразовать фигуры в "фрагменты роликов" или "графику".
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
Цитата:
Добавлено через 31 минуту кстати фрагменты роликов - movieClip,а графика? |
|
|||||
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
а тогда просто нарисованная фигура что такое? тоже Shape?
Последний раз редактировалось delphic; 27.04.2014 в 16:02. |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
а еще вот такой код
package { import flash.display.*; import flash.events.*; public class DocumentClass extends MovieClip { private var counterChildren:Number = 0; private var roomChildren:DisplayObject; private var childArray:Array = []; public function DocumentClass() { counterChildren = numChildren; for(var i:Number = 0;i<counterChildren;i++) { roomChildren = getChildAt(i); if(roomChildren is Shape) { childArray.push(roomChildren); } } addEventListener(Event.ENTER_FRAME,ef) } public function ef(e:Event):void { for(var i:Number = 0; i<childArray.length;i++) { this.removeChild(childArray[i]) childArray.slice(i,1); } } } } ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта. at flash.display:displayObjectContainer/removeChild() at DocumentClass/ef() хотя и удаляются фигуры Последний раз редактировалось delphic; 27.04.2014 в 18:10. |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
Цитата:
у меня - this.removeChild(childArray[i]) нашел ошибку,нужно убрать с enter frame |
|
|||||
|
Цитата:
Если не использовать метод removeChildren(), то детей можно удалить циклом while с декрементом (for Тоже подойдет в принципе, но while проще) Если инкрементом, то количество детей будет уменьшаться, а переменная i расти. Естественно скоро ее значение превысит количество детей и вылетит эксепшен |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|