Опитвам се да променя алфата на graphics
обект в AS3 с помощта на GreenSock, но функциите не работят. Опитва се да премине от алфа 0 до 0,7 за 2 секунди. Методът fromTo();
също не работи. Не искам, но трябва ли вместо това да използвам инкрементален for цикъл, за да направя това?—Тъй като това няма да ми даде контрол върху времето на tween.
public function overlayBox():void {
var overlaySquare:Sprite = new Sprite();
overlaySquare.graphics.beginFill(0x00000);
overlaySquare.graphics.drawRect(0, 0, displayRes, displayRes);
overlaySquare.graphics.endFill();
overlaySquare.x = xScreenPos;
overlaySquare.y = yScreenPos;
TweenMax.from(overlaySquare, 2, {autoAlpha:0});
TweenMax.to(overlaySquare, 2, {autoAlpha:0.7});
addChild(overlaySquare);
trace("overlaySquare index: " + getChildIndex(overlaySquare));
}
РЕДАКТИРАНЕ: Поправих избледняването от алфа 0 на 0.7, като замених функциите на TweenMax от по-горе с това:
overlaySquare.alpha = 0;
TweenMax.to(overlaySquare, 5, {alpha:0.7});
Въпреки това, има проблем с алфа туина, когато се изпълнява с останалата част от програмата. Туинът „мига“ и моментално става 0,7 (изглежда, че „скача“ от 0 на 0,7), веднага щом го видите. Проблемът е изолиран до функцията, която се извиква след overlayBox();
Общ преглед на програмата: изображение се зарежда с помощта на товарач. Вътре в товарача има myTimer.start();
. Това се използва за стартиране на останалата част от програмата, след като изображението бъде заредено. overlayBox();
е първият метод, който следва и работи добре. Следващият метод, textAnimation();
, е това, което го нарушава и нямам представа защо:
public function textAnimation():void {
//set text format
textFormat.font = "Helvetica Neue Light";
textFormat.size = 28;
textFormat.bold = false;
textFormat.color = 0xFFFFFF;
//textFormat.letterSpacing = 5;
//set text size
var size18bold:TextFormat = new TextFormat();
size18bold.size = 36;
size18bold.bold = true;
// pass text format
textOne.defaultTextFormat = textFormat;
textTwo.defaultTextFormat = textFormat;
var xScreenPosStart:Number = xScreenPos + 440;
var xScreenPosEnd:Number = xScreenPos - 300;
textOne.text = "Blah blah blah";
textOne.autoSize = TextFieldAutoSize.LEFT;
textOne.x = xScreenPosStart;
textOne.y = yScreenPos + 240;
TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
textTwo.text = "Blah blah blah";
textTwo.autoSize = TextFieldAutoSize.LEFT;
textTwo.x = xScreenPosStart;
textTwo.y = yScreenPos + 140;
TweenMax.to(textTwo, 12, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1, delay:4});
//add to stage
addChild(textOne);
trace("textOne index: " + getChildIndex(textOne));
addChild(textTwo);
trace("textTwo index: " + getChildIndex(textTwo));
textOne.setTextFormat(size18bold);
}