Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   loadMovie и setMask (http://www.flasher.ru/forum/showthread.php?t=49763)

styx 30.09.2003 21:08

loadMovie и setMask
 
Не работают они вместе - это так и должно быть? Так работает:
Код:

_root.attachMovie("Symbol","mov",1);
_root["mov"].setMask(_root["mask"]);

А так - нет
Код:

_root.createEmptyMovieClip("mov",1);
_root["mov"].loadMovie("test.swf");
_root["mov"].setMask(_root["mask"]);

А если должно быть - то как это обойти?

major 01.10.2003 19:01

_root.createEmptyMovieClip("mov",1);
_root["mov"].loadMovie("test.swf",onLoad=function(){ this.setMask(_root["mask"]);
});

styx 03.10.2003 23:22

thanx!
 
:)

Елё 08.06.2004 20:25

Цитата:

Оригинал написал(а) major
_root.createEmptyMovieClip("mov",1);
_root["mov"].loadMovie("test.swf",onLoad=function(){ this.setMask(_root["mask"]);
});

Мне на такой код выдается:
**Error**
Graphics.as: Line 44: There is no property with the name 'onLoad'.
im.loadMovie(image._url, onLoad = function(){} );


Я видимо что то не так делаю?

silin 08.06.2004 21:02

Код:

createEmptyMovieClip("mov",1);
maska._visible=0;
mov.loadMovie("test.swf");
this.onEnterFrame=function(){
        var l=mov.getBytesLoaded();
        var t=mov.getBytesLoaded();
        if(t>0 && l==t){
                mov.setMask(maska);
                delete onEnterFrame;
        }
}

зы: вариант с onLoad при загрузке из сети не проходит

Елё 08.06.2004 21:12

Спасибо.

Мне просто показалось что styx удволетворен ответом major-а и значит у него что то cработало...

Елё 10.06.2004 20:03

А кто нибудь может объяснить почему работает вот это:

ТЫК

Вроде каждая по отдельности функция понятна... но кто вызывает оnLoad???

Dindin 10.06.2004 23:12

Код:

sol = function (func) { addOnLoadHandler(this, func);};
 gol = function () { return MovieClip._onLoadHandler_[this];};
 MovieClip.prototype.addProperty("onLoad", gol, sol);

- то есть происходит переопределение onLoad как свойства мувиклипа

Елё 11.06.2004 00:18

Наверное глупость спрашиваю, в общем то пока бардак в голове, но _visible вроде тоже свойство? Однако оно становится дефаултным при загрузке. Все переменные объекта тоже вроде исчезают... А onLoad мало того что остается, но еще при этом вызывается хотя вроде везде пишут что onLoad для динамических клипов не работает.

Что бы подитожить по пунктам:
1. пример из onLoad callback-а делает onLoad property, так?
2. В чем принципиальная разница между ними при загрузке mc?
3. Почему свойство не затирается как это происходит с _visible?

Спасибо,
Илья

Dindin 11.06.2004 00:49

видишь ли, вообще-то, onLoad - это обработчик событий , то есть условие, к которому можно привязать функцию. А в том примере, который ты указал, его переопределяют как свойство, то есть некий параметр с которым связаны сразу две функции - set и get. Первая вызывается при установке значения, а вторая - при запросе этого значения. Обрати внимание -
Код:

MovieClip.prototype.addOnLoadHandler = function(path, func) {
        if (MovieClip._onLoadHandler_ == undefined) {
                MovieClip._onLoadHandler_ = {};
        }
        MovieClip._onLoadHandler_[path] = func;
 };

То есть, если значение _onLoadHandler_ не определено, то ему присваивается пустой объект. Это называется инициализацией по умолчанию - то же самое происходит и со всеми свойствами мувиклипа при его первом появлении на таймлайне. Например, значение _visible по умолчанию - true, а значение _alpha - 100.

ЗЫ где ты там увидел callback?


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

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