Форум 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)
-   -   прилепить onMouseMove к созданному клипу (http://www.flasher.ru/forum/showthread.php?t=112731)

ther 06.06.2008 12:13

прилепить onMouseMove к созданному клипу
 
создаю пкстой клип, и в цикле подгружаю рисунки(такая себе галерея)
Код:

for(var i:Number=0;i<Value.length;i++){
    Img=_root.createEmptyMovieClip("Img"+i, 2000+i);
if (340+column*80>600){Img._x=340;row++;Img._y=240+row*80;column=0;}
else{
        Img._x=340+column*80;
        Img._y=240+row*80;
        column++;
}
Img._alpha=100;
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
        target_mc._width=70;
        target_mc._height=70;
        target_mc.blendMode=6;
}
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip(Value[i], Img);

mclListener.onMouseMove=function() {        <=это не срабатывает
        this.blendMode=1;
          trace(this);
}

может не к тому прилепил onMouseMove, но к чему бы не лепил все равно не срабатывает...
Подскажите плз как приклеить событие onMouseMove к динамически созданному клипу..

Alex_beginner 06.06.2008 12:30

Цитата:

mclListener.onMouseMove=function() {
Может тут че нить не так)).
может так лучше будет:

Код:

this["Img"+i].onMouseMove = function()
{
....
}

И ваще тут путаница какая-то!!

ther 06.06.2008 12:36

путаница у вас скорее всего с алгоритмом позиционирования картинок...выводит он правильно....а
Код:

trace(Img)
возвращает Img1,Img2 и тд...тоесть указатель на них по идее есть....пробовал и
Код:

Img.onMouseMove = function()
как вы предложили не пробовал....ща гляну
ПС
Эффект такой же....тоесть никакого

chingachgoog 06.06.2008 12:39

mclListener - это объект.
Объекты становяться листенерами мышиных событий не как мувиклипы, а через

Код:

Mouse.addListener(mclListener)
но тут наверное имелось в виду следущее:

Код:

mclListener.onLoadInit = function(target_mc:MovieClip) {
        target_mc._width=70;
        target_mc._height=70;
        target_mc.blendMode=6;
target_mc.onMouseMove=function() {        <=это не срабатывает
        this.blendMode=1;
          trace(this);
}
}


Alex_beginner 06.06.2008 12:43

chingachgoog прав! Нудо делать именно в onLoadInit.

ther 06.06.2008 12:51

хорошая новость - срабатывает
плохая - сразу на все объекты

chingachgoog 06.06.2008 12:54

Цитата:

Сообщение от ther (Сообщение 744036)
плохая - сразу на все объекты

А что вы ожидали от обработчика onMouseMove?

ther 06.06.2008 13:00

аа...понял свою ошибку...спасибо
ПС
просто последние 6 лет занимался исключительно delphi, посему работа многих методов flash для меня загадка


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

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