Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Создание событий для програмно созданных клипов (http://www.flasher.ru/forum/showthread.php?t=88641)

El Scream 27.11.2006 18:36

Создание событий для програмно созданных клипов
 
Суть
Создаю пустые клипы. Аттачу в них картинки. Присваиваю соотв. картинки
Код:

for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = Node.nextSibling) {
        var pic_mov:MovieClip=_root.fon.createEmptyMovieClip("pic_mov"+i,500+i);
        pic_mov.loadMovie(Node.attributes.img,"POST");
        pic_mov._x=i*50;
        i=i+1;
        pic_mov.onPress=function():Void {
                trace("Нажат "+pic_mov+ "клип")
        }
}

Проблемма
Событие onPress не хочет присваиваться.
Просьба
Укажите на ошибку и как её исправить.

artcraft 27.11.2006 19:05

Код:

for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = node.nextSibling) {}
cтранный цикл - не сразу доходит что он пересчитывает
я сделал бы так

Код:

for (var i:Number=0; i<Nodes.childNodes.length; i++){
  var Node:XMLNode=Nodes.childNodes[i];
  trace(Node.attributes.img);
  // тут идёт загрузка клипов
}


artcraft 27.11.2006 19:11

попробуй вмесо строки trace("Нажат "+pic_mov+ "клип") написать trace("Нажат "+this+ "клип")

artcraft 27.11.2006 19:13

Цитата:

Сообщение от El Scream
Создаю пустые клипы. Аттачу в них картинки.

не аттачу а гружу
аттачат так
Код:

_root.fon.attachMovie("linkage", "name", 123);

El Scream 27.11.2006 19:13

ну если так принципиально то изначально так шел,
Код:

var i:Number=0;
for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = Node.nextSibling) {
        var pic_mov:MovieClip=_root.fon.createEmptyMovieClip("pic_mov"+i,500+i);
        pic_mov.loadMovie(Node.attributes.img,"POST");
        pic_mov._x=i*50;
        i=i+1;
        pic_mov.onPress=function():Void {
                trace("Нажат "+pic_mov+ "клип")
        }
}

Но это не снимает заданного мною вопроса? Почему не работают заданные мною события? в чем моя ошибки? как их исправить?

El Scream 27.11.2006 19:21

Цитата:

Сообщение от artcraft
попробуй вмесо строки trace("Нажат "+pic_mov+ "клип") написать trace("Нажат "+this+ "клип")

Нет - он не производит вобще это событие

artcraft 27.11.2006 19:25

Код:

var Nodes:XML = new XML('<b img="1.jpg"/><b img="2.jpg"/><b img="3.jpg"/>');

var i:Number=0;
for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = Node.nextSibling) {
       
        var pic_mov:MovieClip=_root.createEmptyMovieClip("pic_mov"+i, 500+i);
        var container:MovieClip=pic_mov.createEmptyMovieClip("cont", 1);
        container.loadMovie(Node.attributes.img);
        pic_mov._x=i*50;
        i=i+1;
        pic_mov.onPress=function():Void {
                trace("Нажат "+this+ "клип")
        }
}



Часовой пояс GMT +4, время: 05:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.