Форум 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)
-   -   Назначение маски на _levelN? (http://www.flasher.ru/forum/showthread.php?t=110116)

marat_sa 27.03.2008 11:40

Назначение маски на _levelN?
 
Доброго дня! Можно ли динамически назначить маску флэшке, загруженной на определенный уровень _level или самому уровню?

Obi 27.03.2008 11:46

Можно. Ставьте маску выше объекта по глубине, и присваивайте ее объекту.
Код:

function setMyMask(mc:MovieClip, mask:MovieClip):Void {
    mask.swapDepths(mc.getDepth()+1); // вместо mc.getDepth() можно использовать getNextHighestDepth()
    mc.setMask(mask);
}


iNils 27.03.2008 11:49

А зачем свапить?

Obi 27.03.2008 11:52

Ну предполагается, что маска создается програмно, а нам нужно ее выше объекта поставить )
Если маска ручная, конечно свап не нужен )

marat_sa 27.03.2008 11:55

Нет, не работает. В том то и дело, что назначить маску-клип нужно на _levelN, а не на клип.
_level1.setMask(mask_mc);
? ? ?

iNils 27.03.2008 12:02

Код:

var mc:MovieClip = _level0.createEmptyMovieClip ("mc", _level0.getNextHighestDepth ());
mc.beginFill (0);
mc.lineTo (0, 100);
mc.lineTo (100, 100);
mc.lineTo (100, 0);
mc.lineTo (0, 0);
mc.endFill ();
_level0.setMask (mc);

Цитата:

Сообщение от Obi
Ну предполагается, что маска создается програмно, а нам нужно ее выше объекта поставить )
Если маска ручная, конечно свап не нужен )

Маске без разницы ее глубина, главное, чтобы была в клипе, который маскирует.

Obi 27.03.2008 12:06

Код:

loadMovieNum("target.swf", 1);
onEnterFrame = function(){
        if(_level1){
                maskMc.swapDepths(2);
                _level1.setMask(maskMc);
                onEnterFrame = null;
        }
}


marat_sa 27.03.2008 12:16

Всем спасибо! Заработало.


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

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