Forum Flash, Actionscript, PHP e MySQL
funzioncina che non va...

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side
Precedente  Successivo 
Autore Messaggio
VinS
principiante
principiante



Registrato: 02/02/05 22:17
Messaggi: 56
Località: Cesenatico (FC)

MessaggioOggetto: funzioncina che non va...
Inviato: 06.02.05 | 22:56
Rispondi citando

Ciao
Dopo avervi disturbato con un topic ne apro un altro per una cosa che per voi sarà banale ma a me proprio non riesce... sarà che ho appena iniziato con action script

allora ho una funzione per caricare variabili da una pagina asp:
 
Codice:
function carica(pagina ){ 

txt = new LoadVars(); 
txt.load(pagina); 
txt.ignoreWhite = true; 
txt.onLoad = function(success) { 
if (success) { 
titolo = eval("this.titolo"); 
testo = eval ("this.testo"); 
_root.titolo.text=titolo; 
_root.testo.text=testo; 


}


e richiamo la funzione con pulsanti a cui associo questo codice:

 
Codice:
on (release) {
    function carica ( "sito.asp?var=dove_i&var2=dove_titolo_i")
}


sarà una cavolata ma dove sbaglio?

PS: qualcuno mi consiglia un buon libro per action script?
Torna in cima
Profilo Messaggio privato [ Nascosto ] MSN Messenger
Sponsor
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 07.02.05 | 13:13
Rispondi citando

ciao,
sbagli la sintassi...

per dichiarare una funzione fa fatto giustamente:
 
Codice:
function nomefunzione(){
...
}


mentre per richiamarla devi fare solamente:
 
Codice:
nomefunzione();


Nella dichiarazione della funzione puoi tralasciare le 2 righe con l'eval() e quindi fare solamente:
 
Codice:
if(success){
   _root.titolo.text = this.titolo;
   _root.testo.text = this.testo;
}


Non saprei consigliarti un buon manuale di AS (dipende se vuoi as o AS2, se italiano o inglese) xò consiglio sempre l'uso della guida di Flash (F1).

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
VinS
principiante
principiante



Registrato: 02/02/05 22:17
Messaggi: 56
Località: Cesenatico (FC)

MessaggioOggetto:
Inviato: 07.02.05 | 13:18
Rispondi citando

Grazie per la rispota

ma io gli devo passare una variabile alla funzione che è la pagina da caricare...
Torna in cima
Profilo Messaggio privato [ Nascosto ] MSN Messenger
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 09.02.05 | 13:10
Rispondi citando

si, quindi la funzione la vedi richiamare così
 
Codice:
on (release) {
    carica( "sito.asp?var=dove_i&var2=dove_titolo_i");
}


e non
 
Codice:
on (release) {
    function carica ( "sito.asp?var=dove_i&var2=dove_titolo_i");
}


senca "function" davati.. quello serve solo quando la dichiari
ciauz
Torna in cima
Profilo Messaggio privato   MSN Messenger
VinS
principiante
principiante



Registrato: 02/02/05 22:17
Messaggi: 56
Località: Cesenatico (FC)

MessaggioOggetto:
Inviato: 09.02.05 | 13:23
Rispondi citando

Ok sono riuscito a farla funzionare mettendo funzione e richiamo della funzione tutto all'interno dello stesso mc ed esattamente:

FUNZIONE:

 
Codice:
function carica(pagina) {
    dati = new LoadVars();
    dati.path = this._parent.scritta;
    dati.onLoad = function(success)
    {
        if (success)
        {
            for (var prop in this)
            {
                this.path[prop + "_txt"].htmlText = this[prop].split("\r\n").join("");
            }
        } else
        {
            this.path.nome_txt.text = "file inesistente";
        }
    };
    ASSetPropFlags(dati, ["onLoad", "path"], 7);
    dati.load(pagina+"&rnd="+random(999999));
}


RICHIAMO DA PULSANTE:

 
Codice:
on (release) {
    carica("sito.asp?var=hotel_i&var2=hotel_titolo_i");
}


così funziona egregiamente ma io mi chiedevo, non riesco a rendere disponiible una funzione a livello globale? Se io metto la funzione nel primo frame del filmato e poi la richiamo dal pulsante (che è dentro un MC)... non va!
Non è un grosso problema ma mi piacerebbe capire
grazie a tutti
Torna in cima
Profilo Messaggio privato [ Nascosto ] MSN Messenger
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 10.02.05 | 10:04
Rispondi citando

ogni cosa in flash esite all'interno di un proprio "ambito",
presente le scatole cinesi?
un clip ne contiene un altro, che a suo volta ne contiene altri 2 ecc quando richiami una funzione devi specificare in quale "scatola" essa si trovava nel momento in quando l'hai dichiariata.
per specificare la scatola ci sono vari metodi:

scatola esterna al tutto (_root) :
_root.nomefunzione();

scatola superiore a quella in qui mi trovo (_parent) clip contenuto in _root dal quale voglio richiamare la funzione:
_parent.nomefunzione();

se invece voglio riferirmi a una scatola + piccola di quella in cui mi trovo devo specificarne il nome, nome di tale scatole è il nome dell'istanza della stessa.

è più facile da capire che da spiegare heheh.. spero non averti fatto troppa confusione .. ciauz
Torna in cima
Profilo Messaggio privato   MSN Messenger
VinS
principiante
principiante



Registrato: 02/02/05 22:17
Messaggi: 56
Località: Cesenatico (FC)

MessaggioOggetto:
Inviato: 10.02.05 | 10:37
Rispondi citando

Ciao
ti ringrazio della spiegazione, ho capito tutto Wink

Ma non è possibile rendere una funzione (per es.) disponibile in qualsiasi 'ambito', cioè dichiararla per esempio nel primo frame con la caratteristica di essere disponibile con un sepmlice richiamo (senza percorso) da qualsiasi scatola? Scusami ma la mia è solo una curiosità...
Altra cosa: 'this' invece si riferisce all'ambito specifico di una classe?

ciao e grazie
Torna in cima
Profilo Messaggio privato [ Nascosto ] MSN Messenger
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 10.02.05 | 11:00
Rispondi citando

eh eh ciao Vins, si, si può rendere globale una variabile, però è sconsigliato perchè è facile incappare in errori e confusionarla: fin che la cosa (codice) è semplice va, ma quando e molto complessa puo essere facile "sbagliarla".

Comunque non sono esperto come Coach o Mago che ne sanno di più Wink
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1


 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005