fadein child при вызове addChild - PullRequest
0 голосов
/ 26 мая 2010

Куда бы я ни посмотрел, везде я загружал плагины и дополнения, потому что они «превосходны». Я просто ищу простое появление / исчезновение, когда ребенок добавляется / удаляется (если fadein - это все, что я могу получить, я возьму его). Вот функция, которую я вызываю ...

var trashbagFrame:MovieClip = new menu_trashbag_mc_frame();
trashbagFrame.x = 900;
trashbagFrame.y = 0;

menu_trashbag_mc.addEventListener(MouseEvent.MOUSE_UP, trashbagContent);

function trashbagContent(event:MouseEvent):void {
    if(MovieClip(root).currentFrame == 850) {
    while(MovieClip(root).numChildren > 2)
    {
        MovieClip(root).removeChild(MovieClip(root).getChildAt(MovieClip(root).numChildren - 1));
    }
MovieClip(root).addChild(trashbagFrame);
MovieClip(root).addChild (closeBtn);
}
else {
MovieClip(root).addChild(trashbagFrame);
MovieClip(root).addChild (closeBtn);
MovieClip(root).gotoAndPlay(806);
}
}

Ответы [ 2 ]

0 голосов
/ 27 мая 2010

Вы можете просто использовать enterFrame для изменения свойства с течением времени. Что-то вроде:

var trashbag:MovieClip = new MovieClip();
trashbag.alpha = 0;
addChild(trashbag);
trashbag.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

var closeBtn:MovieClip = new MovieClip();
closeBtn.alpha = 0;
addChild(closeBtn);
closeBtn.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

function enterFrameHandler(e:Event):void 
{
    var targetMC:MovieClip = e.currentTarget as MovieClip;
    if(targetMC.alpha >= 0.9)
    {
        targetMC.alpha = 1;
        targetMC.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
    }
    else
    {
        targetMC.alpha += 5;
    }
}

Надеюсь, что пример кода поможет. Я не проверял это, но идея работает.

0 голосов
/ 26 мая 2010

Скорее всего, эти сайты означают такие надстройки, как Tweener, и такие более гибкие / простые в использовании, когда вам постоянно нужны переходы.

Библиотека ActionScript 3.0 имеет класс Fade в пакете fl.transitions.

import fl.transitions.*;
import fl.transitions.easing.*;

TransitionManager.start(img1_mc, {type:Fade, direction:Transition.IN, duration:9, easing:Strong.easeOut});

https://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/transitions/Fade.html

, где

img1_mc

будет объектом (в вашем случае дочерним), к которому вы хотите применить переход.

...