Хорошо, только вот как всетаки обращаться к обьктам созданным динамически? По событию мыши CLIK допустим выводился его id в вывод.Alazaur писал(а):Да все правильно, только уникальный ID вычислять не обязательно, можно так:Код: Выделить всё
arr.push(element);
Динамическое создание обьектов, получение их ID
Re: Динамическое создание обьектов, получение их ID
Re: Динамическое создание обьектов, получение их ID
Код: Выделить всё
var arr:Array = new Array();for (var i:int = 0; i < 20; i++) { arr[i] = new Mc(); arr[i].x = arr[i].width * ( i % 5 ); arr[i].y = arr[i].height * Math.floor( i / 5 ); arr[i].id = i; arr[i].addEventListener(MouseEvent.CLICK, clickHandler); addChild(arr[i]);} function clickHandler(e:MouseEvent):void { trace(e.target.id);}
Re: Динамическое создание обьектов, получение их ID
Большое спасибо, а если не сложно можно еще пример:
как по нажатию добавляется один обьект, а при последующих нажатиях еще обьет рядом через 10 пикс ( в строке может бвть максимум 4 )
как по нажатию добавляется один обьект, а при последующих нажатиях еще обьет рядом через 10 пикс ( в строке может бвть максимум 4 )
Re: Динамическое создание обьектов, получение их ID
По нажатию куда на определенную кнопку? И что должно быть, когда пользователь нажал 5й раз - просто не добавлять объект или добавлять его в начальную позицию первого, но ниже?
Re: Динамическое создание обьектов, получение их ID
Забудим тот пример, есть просто кнопка пользватель нажал один раз добавился один обьект, еще раз нажал добавилься еще один правее, и так далее.Alazaur писал(а):По нажатию куда на определенную кнопку? И что должно быть, когда пользователь нажал 5й раз - просто не добавлять объект или добавлять его в начальную позицию первого, но ниже?
но в одной строке может быть максимум 4 обьекта. да если жалал 5-й раз то ниже и так далее
Re: Динамическое создание обьектов, получение их ID
Впору новый термин вводить: "форумное иждивенчество" ).
Re: Динамическое создание обьектов, получение их ID
Почему же, просто тот пример мне очень помог, темболее я прошу лишь пример в виде части кода.sanych_dv писал(а):Впору новый термин вводить: "форумное иждивенчество" ).
От темы я вроде не отошел.
Re: Динамическое создание обьектов, получение их ID
Код: Выделить всё
var count:int = 0;btn.addEventListener(MouseEvent.CLICK, addObject); function addObject(e:MouseEvent) { var mc:Mc = new Mc(); mc.x = mc.width * (count%4); mc.y = mc.width * Math.floor(count/4); addChild(mc); count++;}
Re: Динамическое создание обьектов, получение их ID
Большое спасибо, но в продолжение темы (чтобы новую несоздавать)
Создаем динамически обькт:
правильно ли я поместил в массив?
Но теперь я немного изменил обьект mc (был квадрат 20х20)
Сделал 20х40, и теперь они при добавлениее расходятся дург от друга где на пикс-40 (т.е не вплотну ю друг к другу) или как их например разместить 10 пикс друг от друга?
И и так же добавил в прямоугольник компонент NumericStepper - имя экземпляра дал num
и Пытаюсь ему передать id элемента:
Выдает ошибку в вывод:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _000_fla::MainTimeline/fun()
В чем может быть дело? как правильно обращаться к дочерним обьектам?
Создаем динамически обькт:
Код: Выделить всё
var arr:Array = [];var count:int = 0;btn.addEventListener(MouseEvent.CLICK, fun);function fun(e:MouseEvent):void{ var mc:Mc = new Mc(); mc.x = mc.width * (count%4); mc.y = mc.width * Math.floor(count / 4); arr[count] = mc; arr[count].id = count; sp.addChild(arr[count]); arr[count].addEventListener(MouseEvent.CLICK, clickHandler); trace(count); count++;}
Но теперь я немного изменил обьект mc (был квадрат 20х20)
Сделал 20х40, и теперь они при добавлениее расходятся дург от друга где на пикс-40 (т.е не вплотну ю друг к другу) или как их например разместить 10 пикс друг от друга?
И и так же добавил в прямоугольник компонент NumericStepper - имя экземпляра дал num
и Пытаюсь ему передать id элемента:
Код: Выделить всё
mc.y = mc.width * Math.floor(count / 4); mc.num.value =count; arr[count] = mc;
Выдает ошибку в вывод:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _000_fla::MainTimeline/fun()
В чем может быть дело? как правильно обращаться к дочерним обьектам?
Re: Динамическое создание обьектов, получение их ID
По поводу расхождения друг от друга вот тут
надо вот так конечно же
Мой косяк, машинально написал)))
По поводу второго проверьте еще раз имя экземпляра. Обращаетесь вы верно.
Код: Выделить всё
mc.y = mc.width * Math.floor(count / 4);
Код: Выделить всё
mc.y = mc.height * Math.floor(count / 4);
По поводу второго проверьте еще раз имя экземпляра. Обращаетесь вы верно.