eccomi, come mi aspettavo (grande and80) funziona tutto alla perfezione.!!
posto il codice con i miei commenti
dovrebbero essere corretti, c'e il punto con ?? che pero' non ho capito bene....
codice:
var v:Number = 0.5; //velocità dello scorrimento
// creo il campo di testo e imposto le varie proprietà
var t:TextField = new TextField();
t.autoSize = "left";
t.width = 300;
t.multiline = true;
t.wordWrap = true;
t.defaultTextFormat = new TextFormat("_sans", 11, 0x000000, false, false, false, '', '', TextFormatAlign.CENTER, 0, 0, 0, 0);
//creo il rettangolo in cui far scorrere le info
var s:Sprite = addChild(new Sprite()) as Sprite;
// imposto (x,y, width,height) del rettangolo
s.scrollRect = new Rectangle(0,0, 300, 200);
//creo le "fotocopie" grafiche del campo di testo
var one:Bitmap = s.addChild(new Bitmap()) as Bitmap;
var two:Bitmap = s.addChild(new Bitmap()) as Bitmap;
//carico i dati dal file XML
var l:URLLoader = new URLLoader(new URLRequest("lista2.xml"));
l.addEventListener(Event.COMPLETE, completeHandler);
//una volta caricati i dati li gestisco
function completeHandler (evt:Event):void {
try {
//imposto il nodo da visitare
var temp:XMLList = new XML(evt.target.data)["partita"];
//ciclo i nodi e "appendo" il testo presente nel file XML
for (var i:uint=0; i<temp.length(); i++) {
//recupero gli attributi del nodo ["partita"]
t.appendText(String(temp..@datap[i]) + " "+String(temp..@comp[i]) + " "+ String(temp..@sq[i]) + " : " + String(temp..@ris[i])+"\n\n");
}
// ???
var b:BitmapData = new BitmapData(t.width, t.height, true, 0x00808080);
b.draw(t);
one.bitmapData = two.bitmapData = b;
two.y = one.y + one.height;
//imposto il istener x la funzione del movimento
s.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
} catch (err:Error) {
// errori!
}
}
// imposto il movimento
function enterFrameHandler (evt:Event):void {
if (one.y < -one.height) one.y = two.y + two.height;
if (two.y < -two.height) two.y = one.y + one.height;
if (one.y < two.y) {
one.y -= v;
two.y = one.y + one.height;
} else {
two.y -= v;
one.y = two.y + two.height;
}
}
per farti capire meglio ti posto il link per vedere il progetto "completo"
http://www.nextart.it/public/forum.html.it/xml_slide/
praticamente, carico un filmato .flv in un player da me fatto, sopra scorrono le scritte delle partite e se clicchi su Play parte un video in loop.
andiamo avanti., se vuoi .... :-)
sono riuscito a
- centrare il testo e aggiungere altri 2 attributi al nodo.
- al click sul tasto PLAY far sparire la lista e farla riapparire quando si preme il tasto PAUSA
codice:
start_btn.addEventListener(MouseEvent.CLICK, myClickReaction4);
function myClickReaction4 (a:MouseEvent):void{
trace("mioPLAY clicked!");
img.alpha = 0;
one.visible= false;
two.visible= false;
myVideo.play();
}
pausa_btn.addEventListener(MouseEvent.CLICK, myClickReaction2);
function myClickReaction2 (e:MouseEvent):void{
trace("PAUSE clicked!");
img.alpha = 100;
one.visible= true;
two.visible= true;
}
- volevo pero' che l'area partisse da 30px dall'alto, e modificando i valori qui
s.scrollRect = new Rectangle(0,0, 300, 200); con questi (0,30,300,200), non ottengo pero' modifiche, il testo "finisce" troppo in alto. ci sono altri parametri da modificare?
- e' possibile impostare un sfondo al rettangolo in modo da leggere meglio le scritte?
- al mouseOver si puo' fermare il movimento delle scritte?
grazie and80