Проблема ликвидности с Greensock & Gaia
У меня есть флэш-файл, который я пытаюсь изменить фон для каждой страницы. Сам фон меняется хорошо, но у меня проблема с масштабированием фона до размера сцены. Я использую 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 ответ
Я не совсем уверен в этом, но эта строка:
TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete});
возможно затухает все. Если я хорошо это видел на домашней странице библиотеки, то этот код скрывает все, потому что код устанавливает альфа в 0 за 0,3 секунды. Это правильно? Если так, то, возможно, изменится this
в newBG
, если вы хотите исчезнуть newBG
возражать До сих пор кажется, что вы все это затухаете.
Так:
TweenMax.to(newBG, 0.3, {alpha:0, onComplete:transitionOutComplete});
Или в onAfterTransitionOut
, положил
this.alpha = 1;
Надеюсь, это поможет или даст вам представление.