![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 34
|
Здпраствуйте. вопрос у меня такой: загружаю 6ть объектов через AddChildAt в контейнер( назовём его container). как сделать addEventListener(MouseEvent.MOUSE_DOWN, MouseDown) сработало допустим на третьем объекте? для этого я сделал следюушею команду
или как правильно это реализовать? у меня не получилось. |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 34
|
не работает( вместо onMouseDownListener, вставил своё название фунции MouseDown)
|
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
Какую ошибку выдает трейс?
И существует ли вообще спрайты в спрайте-контейнере? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 34
|
на первый вопрос не отвечу. сама флеша ошибок не пишет ни каких. но при клике по объекту не чего не происходит. вот весь код
public var sum:Number;
public var cont: Sprite= new Sprite;
public function fotos(): void {
addChild(cont);
var url:String ;
var urlReq:URLRequest;
sum=0;
for(g=0;g<2;g++){ //вставляю 6ть фото, по 3 фотке в 2 ряда
for(i=0;i<3;i++){
ldr=new Loader();
url="foto/"+sum+".jpg";
ldr.x=(-200)+(i*300);
ldr.y=100+(200*g);
ldr.load(new URLRequest(url));
cont.addChildAt(ldr,sum);
sum=sum+1;
}
}
Sprite(cont.getChildAt(1)).addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
}
public function MouseDown(e:Event=undefined) :void {
var url:String = "banner/banner.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
cont.addChild(ldr);
}
|
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
значит листенер по иному называй, может слово MouseDown зарезервированно.
|
|
|||||
|
Потрейсите ldr в обработчике.
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 34
|
а как протрейсить? MouseDown не зарезервирован, в других местах делал работает.
|
|
|||||
var a= new Sprite();
addChild(a);
var b= new S();
a.addChild(b);
a.getChildAt(0).addEventListener(MouseEvent.MOUSE_DOWN,function(e:Event){trace('aaa')});
Проверь, действительно ли cont.getChildAt(1) ссылается на клип (например так cont.getChildAt(1).visible=false), возможно ты вешаешь слушателя до добавления клипа в контейнер. Проверь, правильно ли работает функция MouseDown, вызови ее как-нибудь по-другому.
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 34
|
фунция MouseDown работает отлично в других ситуациях.
всем огромное спасибо заработала только для getChildAt пришлось создавать отдельную функцию, после этого сработало. ребят а подскажите как сделать, что б не вручную писать getChild(1) а что б само понималось на какого ребёнка нажатие происходит ? т.е. как отследить нажатие на какого именно ребёнка? Последний раз редактировалось Anri_k; 13.04.2008 в 22:51. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|