Форум 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)
-   -   attachMovie - не присваивается Instance Name (http://www.flasher.ru/forum/showthread.php?t=124312)

Acrossfy 26.04.2009 19:47

attachMovie - не присваивается Instance Name
 
Здравствуйте. В library находится мувиклип с идентификатором "replay". Приаттачиваю его на сцену, однако видимо instance name не задается, ибо не работает в последствии onRollOver, RollOut. По сути проблем быть не должно:
Код AS1/AS2:

this.onEnterFrame = function() {
        replay();
}
function replay() {
        attachMovie("replay", "replay", this.getNextHighestDepth(), {_x:25.2, _y:90});
};
 
replay.onRollOver = function() {
        trace("входит");
};
replay.onRollOut = function() {
        trace("и выходит");
};

Помогите пожалуйста понять, в чем беда.

Kuruki 26.04.2009 19:56

переменная replay уже существует у вас (функция), и видимо клип не заменяет ее.

Acrossfy 26.04.2009 20:05

Имена менял не раз. Все равно не работает.
Код AS1/AS2:

this.onEnterFrame = function() {
        replay();
}
function replay() {
        attachMovie("replay2", "replay1", this.getNextHighestDepth(), {_x:25.2, _y:90});
};
replay1.onRollOver = function() {
        trace("входит");
};
replay1.onRollOut = function() {
        trace("и выходит");
};


7thsky™ 26.04.2009 20:11

А зачем вы каждый фрэйм свой мувик создаете заново?

Потом если это написано как вы тут продемонстрировали - работать не будет. так как когда вы создаете методы onRollOver, onRollOut - replay1 - не существует.

Acrossfy 26.04.2009 20:16

onEnterFrame чисто для примера сюда написал, так функция запускается через один класс.
Цитата:

когда вы создаете методы onRollOver, onRollOut - replay1 - не существует.
Спасибо, понял причину. Теперь работает:
Код AS1/AS2:

this.onEnterFrame = function() {
        replay();
}
function replay() {
        attachMovie("replay2", "replay1", this.getNextHighestDepth(), {_x:25.2, _y:90});
        replay1.onEnterFrame = function() {
        this.onRollOver = function() {
                trace("1");
        };
        this.onRollOut = function() {
                trace("2");
        };
};
};


Kuruki 26.04.2009 20:18

onEnterFrame сразу и не заметил... Он и не дает роллОверу сработать, постоянно обновляя replay1.
7thsky™, будет работать

Acrossfy, это извращение.


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

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