Форум 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)
-   -   onEnterFrame для дублированных клипов (http://www.flasher.ru/forum/showthread.php?t=83707)

flashgear 13.08.2006 00:11

onEnterFrame для дублированных клипов
 
Назначил двум клипам (планируется больше) одинаковые обработчики таким образом:

initHero = function (count) {
this.attachMovie("sclt", "hr"+count, this.getNextHighestDepth());
who = this["hr"+count];
who.onEnterFrame = function() {
trace(count+" = "+who);
};
};
initHero(2);
initHero(1);

В окте Оутпут:
1 = _level0.hr1
2 = _level0.hr1
1 = _level0.hr1
2 = _level0.hr1

Так я могу обращаться только к _level0.hr1. Как обратиться к _level0.hr2.

Juice_Green 14.08.2006 10:30

так и обращайся, просто ошибка в синтаксисе:

Код:

initHero = function (count) {
this.attachMovie("sclt", "hr"+count, this.getNextHighestDepth());
who = this["hr"+count];
who.onEnterFrame = function() {
trace(count+" = "+this);
};
};
initHero(2);
initHero(1);


Storm[pfp] 14.08.2006 10:30

Код:

initHero (N)
ты хочешь аттачить N-й клип или все до него (включительно )?

flashgear 15.08.2006 12:05

Я аттачу только один клип просто несколько раз.
Недавно нашел что все работает когда я вместо
who = this["hr"+count];
ставлю
who = _parent.g["hr"+count];
это его адрес по другому, но почему с this не срабатывает

DarkLight 15.08.2006 12:47

А почему бы не так?
Код:

initHero = function (count) {
        var who:MovieClip = this.attachMovie("sclt", "hr"+count, this.getNextHighestDepth(),{onEnterFrame:function() {
                trace(count+" = "+who);
        }});       
};
initHero(2);
initHero(1);

Обращение было только к 1му т к who.onEnterFrame переписывался - who локальной переменной должна быть...

Nirth 15.08.2006 13:52

пользователю flashgear предупреждение, за то что не прочел правила форума

flashgear 15.08.2006 21:51

Урааа !!! Заработало! Я опять перемудрил (см. пред. пост) теперь сделал ТАК:
Код:

initHero = function (count) {
this.attachMovie("sclt", "hr"+count, this.getNextHighestDepth());
who = this["hr"+count];
who.onEnterFrame = function() {
trace(count+" = "+this);
};
};
initHero(2);
initHero(1);

Вариант DarkLight Вроде оказался самым продвинутым
Просто я не понял "var" буду пробовать его.
Nirth правила прочитал, уже соответствую! читаю ФАК.


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

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