Salve a tutti, sto cercando di chreare una sorta di newsticker con effetto dissolvenza su testo ma non so perchè non riesco a farlo funzionare
i testi si alternano correttamente ma non ho l'effetto dissolvenzaCodice PHP:import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
stop();
var my_speed:Number = 2;
var my_total:Number;
var allNews:XMLList;
var my_url:String;
var my_title:String;
var my_date:String;
var sfondo:bg_mc = new bg_mc();
addChild(sfondo);
var my_labels_array:Array = [];
var my_counter:Number = 0;
var my_playback_counter:Number = 0;
var my_newsTicker:Sprite = new Sprite();
var my_labels_slides:Sprite = new Sprite();
var my_timer:Timer;
var my_prev_tween:Tween;
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.load(new URLRequest("../news.xml"));
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseNews(xmlData);
}
function ParseNews(newsInput:XML):void {
allNews = newsInput.*;
my_total = allNews.length();
for (var i:int = 0; i < my_total; i++) {
my_url = allNews[i].url;
my_title = allNews[i].title;
my_date = allNews[i].date;
var news_txt:TextField = new TextField();
news_txt.text = my_date +" - "+ my_title;
news_txt.autoSize = TextFieldAutoSize.LEFT;
my_labels_array.push(news_txt);
my_counter++;
}
if (my_counter == my_total) {
addChild(my_newsTicker);
my_newsTicker.addChild(my_labels_slides);
nextNews();
my_timer = new Timer(my_speed*1000);
my_timer.addEventListener(TimerEvent.TIMER, timerListener);
my_timer.start();
}
}
function nextNews():void {
var news_txt:TextField = TextField(my_labels_array[my_playback_counter]);
my_labels_slides.addChild(news_txt);
news_txt.x = (stage.stageWidth / 2)-(news_txt.width/2);
news_txt.y = (stage.stageHeight / 2)-(news_txt.height/2);
new Tween(news_txt,"alpha",Strong.easeOut,0,1,1,true);
}
function timerListener(e:TimerEvent):void {
var news_txt:TextField = TextField(my_labels_slides.getChildAt(0));
new Tween(news_txt,"alpha",Strong.easeOut,1,0,1,true);
my_labels_slides.removeChildAt(0);
my_playback_counter++;
if (my_playback_counter == my_total) {
my_playback_counter = 0;
}
nextNews();
}
Grazie
Cinzia

Rispondi quotando