![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Modus ponens
|
А можно ли как-то подписаться на onAdded но только так, чтобы событие возникало не тогда, когда объект добавляется в дисплейлист другого, а, наоборот, к нему что-то добавляют? (нужно банально для того, чтобы при каждом добавлении чего либо на основной таймлайн один из клипов всегда занимал самую большую глубину)
__________________
Hell is the possibility of sanity |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Подписаться у parent на ADDED и поднимать себя на большую глубину нельзя? |
|
|||||
|
Я бы сделал так:
__________________
Сам себе репортер |
|
|||||
|
Modus ponens
|
А разве чайлд получит это событие когда на стейдж другой чайлд добавится? =\
Т.е. у парента onAdded будет всего 1 раз, и то я за ним не успею %) это ж основной таймлайн, куда его еще удаляйть/добавлять? =) Нужно, не важно где, получать уведомление о том, что что-то добавилось к этому таймлайну. Т.е. если бы я мог, предположим, переписать addCHild() у стейджа так, что он бы вещал что-нть типа Event.CHILD_ADDED это было бы вообще замечательно %) Проблема только в том, что переписать это не представляется возможным...
__________________
Hell is the possibility of sanity |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не понимаю проблемы. Набросал:
Правда, added должна быть описана внутри sp1, но лень было писать такую. В конце концов, код выше парой постов тоже нормальный. |
|
|||||
|
Я понял задачу так: что есть один ДО, который всегда на верху.
И зачем одному чайлду знать что добавился другой? Стэйдж должен регулировать глубины ДО из своего дисплэйлиста. можно перепивать addChild у своего контейнера...
__________________
Сам себе репортер |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 269
|
Не уверен, что понял правильно. Или имеется ввиду просто отлов события не на target phase, чтобы узнать что что-то добавили к спрайту?
|
|
|||||
|
Modus ponens
|
Цитата:
Ток я не могу переписать addCHild, потому что не могу из этого класса рассказать стейджу самого базового ДО что нужно делать в этой функции =( Т.е. предположим, есть у меня какой-то DocumentClass, в нем я могу достучаться до this.stage, а вот поменять его this.stage.addCHild() - нет... ЗЫ. Мне не так уж важно, будет ли об этом знать один чайлд, или его родитель, хоть как-то бы %) __etc: sp1.parent.addEventListener(Event.ADDED, added); Хм... или я чего-то не понимаю, или одно из двух %) Я думал, что этот евент генерит чайлд, а не родитель... А, все, попробовал, и вправду так работает %) Чет я туплю, вобщем... сорь
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 25.03.2008 в 15:31. |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 269
|
еще вариант, ловим ADDED на пузырьке
import flash.display.Sprite;
var alwaysOnTop:Sprite = new Sprite();
alwaysOnTop.name = "alwaysOnTop";
with (alwaysOnTop.graphics) {
beginFill(0xFF0000);
lineStyle(2, 0xFFFFFF)
drawCircle(stage.stageWidth/2, stage.stageHeight/2, 100);
endFill();
}
addChild(alwaysOnTop);
stage.addEventListener(Event.ADDED, onAdded, false);
function onAdded(event:Event):void {
addChildAt(alwaysOnTop, numChildren-1);
}
for(var i:int = 0; i < 100; i++) {
var sprite:Sprite = new Sprite();
sprite.name = "sprite"+i;
with (sprite.graphics) {
beginFill(Math.random()*0xFFFFFF);
drawRect(stage.stageWidth*Math.random(), stage.stageHeight*Math.random(), 100*Math.random(), 100*Math.random());
endFill();
}
addChild(sprite);
}
|
|
|||||
|
__________________
Сам себе репортер |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|