Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Menu in as3 con dati da file xml

This is a discussion on Menu in as3 con dati da file xml within the Actionscript 3.0 base forums, part of the Flash CS3 generale category; Salve a tutti, seguo il vostro forum e spesso leggo post con relative soluzioni. Dovre riuscire a fare (soprattutto per ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Flash CS3 generale > Actionscript 3.0 base

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 24-09-08, 11:37
Junior Member
 
Join Date: Aug 2008
Posts: 2
Rep Power: 0
Ila87 is on a distinguished road
Menu in as3 con dati da file xml

Salve a tutti,
seguo il vostro forum e spesso leggo post con relative soluzioni.
Dovre riuscire a fare (soprattutto per imparare) un menu in as3 in cui le voci vengono caricate attraverso dati in un file xml.
Nel xml ci sono i nomi dei pulsanti (<nome>Chi siamo</nome>) e il numero del frame corrispondente a quella voce che si deve raggiungere (<link>10</link>).
Per adesso ho creato l'istanza del primo pulsante e con addChild() l'ho posta sullo stage, viene scritto dinamicamente sopra il nome del primo pulsante attraverso il file xml e ho impostato che deve andare al frame 10 (cioè il link corrispondente nel file xml).
Il problema è che cliccando su gotoAndPlay vado al frame 10 ma sparisce il nome sul pulsante!! Come risolverlo??

Poi dovrei imparare a gestire in un ciclo for ogni voce presente nel file xml.
Ad esempio
for (ogni elemento del xml) {
*carica il suo nome nel pulsante
*al click fai raggiungere il frame corretto
}

Potete aiutarmi? Allego i miei files...
DEVO imparare!!

------------------------------------------------------

package
{
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.text.*;

public class MyMenu extends Sprite
{

public function MyMenu()
{
//var mySprite:Sprite = new Sprite();
// Crea un nuovo oggetto Sprite fuori lista - una istanza

// Crea un nuovo clip filmato dalla Libreria
// e lo aggiunge alla linea temporale corrente
// Equivalent a attachMovie()
var myMovie:CustomMovieClass = new CustomMovieClass();
addChild(myMovie);
myMovie.x=50;
myMovie.y=50;
//myMovie.field.text="ciao"

var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();

xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
var MyData:String="data.xml"


xmlLoader.load(new URLRequest(MyData));
function LoadXML(e:Event):void
{
xmlData = new XML(e.target.data);
//trace(xmlData);
VociMenu(xmlData);
}


function VociMenu(vociInput:XML):void
{
trace("XML Output");
trace("--------------");
trace(vociInput.voce.nome);
trace(vociInput.voce.link);

myMovie.field.text=vociInput.voce.nome.text()[0];
myMovie.link=vociInput.voce.link[0];
myMovie.addEventListener(MouseEvent.CLICK,onClick) ;
myMovie.mouseChildren=false;

function onClick(e:MouseEvent):void
{
e.target.gotoAndStop(myMovie.link);
trace(myMovie.link);

}

}

}
}
}
Attached Files
File Type: zip menu_ila.zip (7.0 KB, 6 views)

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 24-09-08, 15:48
Member
 
Join Date: Feb 2008
Location: Modena
Posts: 78
Rep Power: 1
bulga is on a distinguished road
Re: Menu in as3 con dati da file xml

Ho dato un'occhiata al tuo progetto, prova a vedere se così può andare, anche se il mio consiglio è di non andare ad un certo frame per far comparire quel quadratino ma di convertirlo in movieclip e "giocare" sulla proprietà visible. Inoltre il documento xml non era ben formato.
Il progetto è in allegato.

Attached Files
File Type: zip menu.zip (26.1 KB, 19 views)

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 29-09-08, 08:37
Junior Member
 
Join Date: Aug 2008
Posts: 2
Rep Power: 0
Ila87 is on a distinguished road
Re: Menu in as3 con dati da file xml

Ciao ^^
Scusa per il ritardo!!
Ti ringrazio moltissimo...sei stato di grande aiuto.
Mi sto scervellando per capire perchè ho ancora mooooolta strada da fare..comunque sono ottimista :)

Potresti solo spiegarmi in parole povere questo pezzo di LoadXML.as?

for(var i:int=0;i<n;i++)
{
var obj:Object=new Object();
for(var j:int=0;j < node.childNodes[i].childNodes.length;j++)
{
if(j==0)
obj.nome=node.childNodes[i].childNodes[j].firstChild.nodeValue;
if(j==1)
obj.link=node.childNodes[i].childNodes[j].firstChild.nodeValue;
}
_fla.xml_array.push(obj);
}
_fla.createButtons();



non capisco bene le connessioni con il file xml (tra le altre cose!!)..
"i" sarebbe ogni item (<voce></voce>)?
e quel "_fla.xml_array.push(obj)" cosa significa? _fla?

Potresti anche specificare meglio il discorso della visibilità? in as2 almeno questo riuscivo a farlo....ma in as3 non so da dove prenderlo :(

Scusa per le richeste, se esistesse un super caffè virtuale te lo dovrei offrire d'obbligo!!
grazie:)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #4 (permalink)  
Old 30-09-08, 12:16
Member
 
Join Date: Feb 2008
Location: Modena
Posts: 78
Rep Power: 1
bulga is on a distinguished road
Re: Menu in as3 con dati da file xml

Quote:
Originally Posted by Ila87 View Post
Ciao ^^
Scusa per il ritardo!!
Ti ringrazio moltissimo...sei stato di grande aiuto.
Mi sto scervellando per capire perchè ho ancora mooooolta strada da fare..comunque sono ottimista :)

Potresti solo spiegarmi in parole povere questo pezzo di LoadXML.as?

for(var i:int=0;i<n;i++)
{
var obj:Object=new Object();
for(var j:int=0;j < node.childNodes[i].childNodes.length;j++)
{
if(j==0)
obj.nome=node.childNodes[i].childNodes[j].firstChild.nodeValue;
if(j==1)
obj.link=node.childNodes[i].childNodes[j].firstChild.nodeValue;
}
_fla.xml_array.push(obj);
}
_fla.createButtons();



non capisco bene le connessioni con il file xml (tra le altre cose!!)..
"i" sarebbe ogni item (<voce></voce>)?
e quel "_fla.xml_array.push(obj)" cosa significa? _fla?

Potresti anche specificare meglio il discorso della visibilità? in as2 almeno questo riuscivo a farlo....ma in as3 non so da dove prenderlo :(

Scusa per le richeste, se esistesse un super caffè virtuale te lo dovrei offrire d'obbligo!!
grazie:)
Ciao per il momento ti rimando a tre guide per quanto riguarda l'xml perchè sono un pò di fretta:

1- Interpretare i dati di un file XML esterno con Flash CS3

2- Interpretare i dati di un file XML esterno con Flash CS3

3- Come caricare un file XML esterno con AS 3.0 (Questo è un thread che avevo aperto a riguardo e devo dire mi è stao utilissimo)


Per quanto riguarda
Code:
_fla.xml_array.push(obj)
_fla è un movieclip, con il metodo push inserisco l'oggetto obj all'interno dell'array "xml_array" che è situato nella DC principale per questo per richiamarlo devo usare quel codice. Se guardi la funzione loadXML nella DC principale vedi che viene creata una nuova variabile di tipo LoadXML cioè la classe che effettua il caricamento del file XML e a quest'ultima classe viene passato il valore this cioè la dc principale. Ponendo _fla=fla gli dico che _fla è la DC principale e così posso sfruttare l'array che contiene (questo perchè l'array è stato dichiarato pubblico).
Non vorrei averti confuso le idee ma non è molto semplice la cosa da spiegare se non hai almeno qualche base di OOP (programmazione ad oggetti)

Per altri dubbi chiedi pure

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 30-09-08, 12:24
Member
 
Join Date: Feb 2008
Location: Modena
Posts: 78
Rep Power: 1
bulga is on a distinguished road
Re: Menu in as3 con dati da file xml

Mi sono dimenticato della visibilità....

Per il discorso della visibilità quando hai un movieclip puoi utilizzare la proprietà movieclip.visible=false, questo ti permette di "nascondere" il movieclip dallo stage e allo stesso modo per farlo "ricomparire" puoi utilizzare movieclip.visible=true ti basterà usare questa proprietà in modo alternato su degli eventi che associ ai pulsanti come ad esempio un click del mouse ed eviterai di lavorare con la timeline e le funzioni come gotoandstop o simili.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Flash Multi Gallery
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript 3 Player MP4 con dati in XML Skeden Actionscript 3.0 base 0 24-10-08 02:31
Interpretare i dati di un file XML esterno con Flash CS3 Flep Articoli e tutorials 14 17-08-08 13:17
loading external text file in nested flash file angel3m HELP free utilities 0 16-07-08 22:18
Accesso ai dati di un file xml vivian Actionscript 3.0 base 3 14-04-08 12:45
collegare un bottone a un file esterno o a un file ad un altro fotogramma.. haryia Flash CS3 generale 3 24-03-08 07:58


All times are GMT. The time now is 07:55.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406