Просмотр полной версии : проблема с маской
googleeeee
14.06.2005, 12:22
Есть такая функция (в моём мувике):
function createMovieClip()
{
counter++;
_root.createEmptyMovieClip('pic'+counter,counter);
_root['pic'+counter].loadMovie(counter+".jpg");
_root.createEmptyMovieClip('mask'+counter, counter+10000);
_root['pic'+counter].setMask(_root['mask'+counter]);
}
Дальше идёт отрисовка маски, но отрисовка идёт, а маска не включается...:( подскажите - в чем дело?
FreeLander
14.06.2005, 12:29
кинь исходник что-ли...
а так могу только посоветовать:
вместо counter, используй movieClip.getNextHighestDepth()
попробуй сначала отрисовать маску, а потом назначить её мувику
googleeeee
14.06.2005, 13:01
Как ты рекомендовал не получилось:
после getNextHighestDepth() мувик маски вообще за мувиком 'pic'+counter оказался.
Вот весь код:
mWidth = 550;
counter = 0;
createMovieClip();
animInt = setInterval(doAnim, 17);
function createMovieClip()
{
counter++;
_root.createEmptyMovieClip('pic'+counter,counter);
_root['pic'+counter].loadMovie(counter+".jpg");
_root.createEmptyMovieClip('mask'+counter, counter+10000);
_root['pic'+counter].setMask(_root['mask'+counter]);
}
function doAnim()
{
var c = _root['mask' add counter];
if(animIndex < 15)
{
var f = animIndex/15;
f = (Math.sin(f*Math.PI/2) + 0.2*Math.sin(f*3*Math.PI/2))*1.25;
with(c)
{
clear();
beginFill(0x000000);
lineTo(mWidth,0);
lineTo(mWidth,f*20);
curveTo(mWidth/2,f*125,0,f*10);
endFill();
}
}
else if (animIndex < 40)
{
var f = (animIndex-15)/25;
f = (Math.sin(f*Math.PI/2) + 0.2*Math.sin(f*3*Math.PI/2))*1.25;
with(c)
{
clear();
beginFill(0x000000);
lineTo(mWidth,0);
lineTo(mWidth,20+f*160);
curveTo(mWidth/2,125-f*50,0,10+f*180);
endFill();
}
}
else if (animIndex <= 55)
{
var f = (animIndex-40)/15;
f = (Math.sin(f*Math.PI/2) + 0.2*Math.sin(f*3*Math.PI/2))*1.25;
with(c)
{
clear();
beginFill(0x000000);
lineTo(mWidth,0);
lineTo(mWidth,180+20*f);
curveTo(mWidth/2,75+125*f,0,190+10*f);
endFill();
}
}
animIndex++;
if(animIndex > 50)
{
animIndex = 0;
unloadMovie(_root['pic'+counter]);
_root['pic' add (counter)].removeMovieClip();
_root['mask' add (counter)].removeMovieClip();
createMovieClip();
}
}
googleeeee
16.06.2005, 12:47
я тут прочитал, что если содеримое маскируемого мувика загружается динамически (loadMovie();) и маска генерится динамически, то ничего не выйдет.. я пробовал сначала его загружать а потом дублировать и уже к дублируему мувику применять маску..таже фигня.. что делать?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.