Форум 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)
-   -   как подключить маску к слайдшоу (http://www.flasher.ru/forum/showthread.php?t=138143)

cashflash 31.03.2010 14:19

как подключить маску к слайдшоу
 
пытаюсь подключить маску неправильной формы к слайдшоу. маска - мувиклип в библиотеке с именем и линкейджем mask1, слайдшоу находится в мувиклипе _root.s1, прицепил setMask к мувику с изображением но маска не работает, помогите пожалуйста...

Код AS1/AS2:

 
var imagesUrlList                        :Array = ["cloud1/1.jpg", "cloud1/2.jpg", "cloud/3.jpg"];
var intervalToChangeImages        :Number = 2;
 
var currentLoadedIndex        :Number = 0;
var currentImageIndex        :Number = 0;
var intervalFlag                :Boolean = true;
var loadedFlag                :Boolean = false;
var timerInterval                :Number;
var images_mc                :MovieClip;
var imageContainer        :MovieClip;
 
_root.s1.attachMovie("mask1", "mask1", 1, {_x:0, _y:0});
 
 
function startTimer()
{
        intervalFlag = false;
        timerInterval = setInterval(checkLoadStatus, intervalToChangeImages*2000);
}
 
function checkLoadStatus()
{
        clearInterval(timerInterval);
        intervalFlag = true;
        if (loadedFlag) showImage(imageContainer);
}
 
function loadImage()
{
        loadedFlag = false;
        imageContainer = images_mc.createEmptyMovieClip("imageContainer"+currentLoadedIndex, currentLoadedIndex);
        imageContainer._alpha = 0;
        var imageToLoad:MovieClip = imageContainer.createEmptyMovieClip("imageToLoad", 0);
        var loaderListener:Object = {};
        loaderListener.onLoadInit = function(image:MovieClip)
        {
        image.setMask(mask1);
 
                if (intervalFlag) showImage();
                loadedFlag = true;
        }
 
        var imageLoader:MovieClipLoader = new MovieClipLoader();
        imageLoader.addListener(loaderListener);
        imageLoader.loadClip(imagesUrlList[currentImageIndex], imageToLoad);
        currentImageIndex ++
        if (currentImageIndex == imagesUrlList.length) currentImageIndex = 0;
}
 
function showImage()
{
        imageContainer.onEnterFrame = function()
        {
                this._alpha += 3;
                if (this._alpha >= 100)
                {
                        if (currentLoadedIndex > 0) removeMovieClip(images_mc["imageContainer"+(currentLoadedIndex-1)]);
                        currentLoadedIndex ++;
                        loadImage();
                        startTimer();
                        delete this.onEnterFrame;
                }
        }
}
 
images_mc = this.createEmptyMovieClip("images_mc", 0);
loadImage();


dimarik 31.03.2010 15:16

Код AS1/AS2:

loaderListener.onLoadInit = function(image:MovieClip):Void {
        var mask:MovieClip = image.attachMovie("mask", "mask", 1);
        image.setMask(mask);
        ...
}


cashflash 31.03.2010 18:00

спасибо за ответ, уже сделал так:
Код AS1/AS2:

_root.attachMovie("mask1", "mask1", 1);
_root.s1.setMask(mask1);

тоесть замаскировал мувик внутри которого содержится слайдшоу, а не вешал маску на каждую отдельную пикчу


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

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