Проблема ликвидности с Greensock & Gaia - PullRequest
0 голосов
/ 26 апреля 2011

У меня есть флэш-файл, который я пытаюсь изменить для каждой страницы.Сам фон хорошо меняется, но у меня возникла проблема с масштабированием фона до размера сцены.Я использую Liquid Area Greensock, чтобы попытаться справиться с этим, и он хорошо справляется с одним фоном, но как только я представил больше, мой код захлебнулся ..

package com.picturesite.pages
{
    import com.gaiaframework.api.*;
    import com.gaiaframework.debug.*;
    import com.gaiaframework.events.*;
    import com.gaiaframework.templates.AbstractPage;
    import com.greensock.TweenMax;
    import com.greensock.easing.*;
    import com.greensock.layout.*;

    import flash.display.*;
    import flash.events.*;

    public class IndexPage extends AbstractPage
    {   
        public var bg1:MovieClip;
        public var bg2:MovieClip;
        public var bg3:MovieClip;
        public var bg4:MovieClip;
        public var bg5:MovieClip;
        public var bg6:MovieClip;
        public var newBG:MovieClip;
        public var bBar_mc:MovieClip;   


        var releaseGaia:Function = Gaia.api.afterTransitionOut(onAfterTransitionOut, true);

        public function IndexPage()
        {
            super();
            alpha = 0;

        }
        override public function transitionIn():void 
        {
            super.transitionIn();
            bg2.visible=bg3.visible=bg4.visible=bg5.visible=bg6.visible=false;
            TweenMax.to(this, 0.3, {alpha:1, onComplete:transitionInComplete});     

            var ls:LiquidStage = new LiquidStage(this.stage, 960, 760, 960, 760);
            var area:LiquidArea = new LiquidArea(this, 0, 0, 960, 760);
            area.attach(newBG, ScaleMode.PROPORTIONAL_OUTSIDE);
            ls.update();
        }

        override public function transitionOut():void 
        {
            super.transitionOut();
            TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete});
            Gaia.api.removeAfterTransitionOut(onAfterTransitionOut);
        }

        private function onAfterTransitionOut(e:GaiaEvent):void
        {
            var newBG:MovieClip;

            switch(Gaia.api.getCurrentBranch())
            {
                case Pages.HOME :
                    newBG = bg1;
                    break;

                case Pages.PACKAGES :
                    newBG = bg2;
                    break;

                case Pages.PHOTOS_SAMPLES :
                    newBG = bg3;
                    break;

                case Pages.VIDEOS_SAMPLES :
                    newBG = bg4;
                    break;

                case Pages.TESTIMONIES :
                    newBG = bg5;
                    break;

                case Pages.CONTACT :
                    newBG = bg6;
                    break;

            }

            TweenMax.allTo([bg1,bg2,bg3,bg4,bg5,bg6], .5, {autoAlpha:0});
            TweenMax.to(newBG, .5, {alpha:1, onComplete:releaseGaia});  

        }

    }
}

1 Ответ

2 голосов
/ 26 апреля 2011

Я не совсем уверен в этом, но эта строка:

TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete});

возможно, затухает все.Если я хорошо видел это на домашней странице библиотеки, то этот код скрывает все, потому что код устанавливает alpha в 0 в 0.3 сек.Это правильно?Если это так, то, возможно, измените this на newBG, если вы хотите затемнить объект newBG.До сих пор кажется, что вы все затухаете.

Итак:

TweenMax.to(newBG, 0.3, {alpha:0, onComplete:transitionOutComplete});

Или в onAfterTransitionOut введите

this.alpha = 1;

Надеюсь, это поможет или даст вамкакая-то идея.

...