|
|
|||||
Добавление объекта в каждый индекс.
Нашёл для себя код из as2 который хотелось бы перевести его на as3 , а если быть по конкретнее то мне надо осуществить аналог attachMovie (as 2.0) , в голову пришло только как добавить экземпляр мувы из библиотеки в в массив .
вот as 2 var depth =0 ++ depth var bullets = "bul" + depth; // bul1,bul2,bul...n _root.attachMovie("bul",bullets,depth); bull1 bull2 bull...n as 3 хотел написать так что бы при каждом клике экземпляр добавлялся в порядковый индекс var bull:MovieClip = new bul(); var arr:Array = new Array(); arr.push(addChild(bull)); trace(arr.length) как это вообще сделать правильнее ? |
|
|||||
Тэилс генерит ошибку
Я так понимаю индекс каждый раз будет расти и для обращения к каждому можно воспользоваться методом getChildIndex. ладно буду разбираться. |
|
|||||
Почти разобрался , при каждом клике (для примера )я добавляю объекты на растоянии друг от друга
но почему trace(numChildren) возвращает индексацию с 2 ? почему не с одного ? |
|
|||||
ZackMercury Stage ведь тоже контейнер ? так ведь ?
Цитата:
|
|
|||||
const OBJ_SIZE:int = 50; var objects:Array = []; function addObject(x:int = 0, y:int = 0):Shape { var shp:Shape = new Shape(); var g:Graphics = shp.graphics; var gradientMatrix:Matrix = new Matrix(); gradientMatrix.rotate(Math.PI/2); gradientMatrix.scale(0.05, 0.05); gradientMatrix.translate(20, 20); g.beginGradientFill(GradientType.LINEAR, [0xFF0000, 0x0000FF], [1,1], [0x00, 0xFF], gradientMatrix, SpreadMethod.PAD); g.drawRoundRect(0, 0, OBJ_SIZE, OBJ_SIZE, 10, 10); g.endFill(); g.beginFill(0xFFFFFF); g.drawCircle(OBJ_SIZE/2, OBJ_SIZE/2, OBJ_SIZE / 4); addChild(shp); shp.x = x; shp.y = y; return shp; } stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageClick); function onStageClick(e:MouseEvent):void { objects.push(addObject(e.target.mouseX, e.target.mouseY)); for(var i:int = 0; i < objects.length; i ++) objects[i].alpha = (1+i)/objects.length; } stage - контейнер, но он вам дан не для того, чтобы вы в него добавляли детей. Изначально он имеет 1 ребёнка: ваш главный класс. Вы можете увидеть имя ребёнка написав Цитата:
Если вам нужно добавлять в конкретный индекс, то вам нужен метод http://help.adobe.com/ru_RU/FlashPla...l#addChildAt()
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 21.06.2016 в 20:04. |
|
|||||
Вроде разобрался
создаю контейнер и при каждом клике кидаю поверх остальных в контейнер |
Часовой пояс GMT +4, время: 12:48. |
|
« Предыдущая тема | Следующая тема » |
|
|