Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    function e file esterno

    Qui avrei bisogno di un aiuto grande...ma che dico grande...di+.
    L'altro giorno, provando con le lezioni scaricate da ************ ( e precisamente la lezione 8)mi sono trovato di fronte alla spiegazione dell'azione function....
    Oggi mi ritrovo qualcosa del genere anche sul libro di action script per MX 2004...che però deve arrivarmi a giorni.
    Infatti lo script che ho copiato dal libro in flash MX non funziona e se tento di aprire il file.fla contenuto nel CD allegato al libro mi dice "formato inatteso" forse proprio per il fatto che non ho 2004.

    Ma il punto è che trovo ostico il capire tale funzione mentre invece credo sia fondamentalmente semplice...o almeno spero.

    Per adesso proverei a scrivervi lo script contenuto nel libro e che però, come detto prima, non posso testare se non tra qualche giorno.
    Se poi non dovessimo capirci allora riporterei lo script scaricato da ************ che invece funziona sul mio flash attuale...ma che la mia testa si rifiuta di capire....

    Allora, il filmato .fla è salvato in una cartella dove nella medesima è salvato anche un file di testo nominato " testo_txt" al cui interno ho scritto " &numero=100" (ovviamente senza virgolette)...
    La scena del filmato ha un campo di testo dinamico chiamato " spazio_txt".
    Nel primo e unico fotogramma della linea temporale mi fanno scirvere il seguente script:

    var pippo:LoadVars = new LoadVars();
    pippo.onLoad=function(){
    spazio_txt.text=pippo.numero;
    }

    Allora mi chiedo...quel LoadVars subito dopo pippo è quello che carica tutto il contenuto nel file di testo esterno???..non credo
    Ma poi le azioni non si scrivevano tra parentesi??? es: onClipEvent(load)?????
    E se i file di testo esterni fossero 3 o 4 o di + li carica tutti??
    E poi continua il mio non capire...= new LoadVars(); che è tutto blu come se fosse un comando....

    Poi la seconda riga credo dica " quando pippo è caricato allora dentro all'istanza "spazio_txt" vacci a scrivere il valore di pippo.numero, dove numero è quel valore scritto nel file di testo.
    Se avessi, credo, scritto nel file di testo:
    &numero=100
    &chenoia=200
    &cicapissiqualcosa=0

    forse potrei richiamarli con pippo.chenoia...etc etc etc..

    Mamma che gran confusione.....

  2. #2
    dai un occhiata qui per chiarire le idee:

    http://flash-mx.html.it/guide/view_l...guida=9&id=197


    Allora mi chiedo...quel LoadVars subito dopo pippo è quello che carica tutto il contenuto nel file di testo esterno???..non credo
    scrivere var pippo:LoadVars significa indicare che la variabile pippo è di tipo LoadVars e che quindi non gli si potrà assegnar altro valore.

    var pippo:LoadVars = new LoadVars;

    significa creare un nuovo oggetto pippo che eredita i metodi della classe loadVars


    Ma poi le azioni non si scrivevano tra parentesi??? es: onClipEvent(load)?????
    il codice come l'hai scritto tu va associato al movieClip. Dalla versione MX in poi si possono gestire questi eventi anche scrivendo sulla timeline

    E se i file di testo esterni fossero 3 o 4 o di + li carica tutti??
    si

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    dimenticavo. Per caricare il file devi aggiungere:

    pippo.load("nomefile.txt");

    altrimenti non carica nulla. Tutto il resto (quello che hai scritto tu) serve per gestire i dati caricati

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    L'ho messa così e funziona:

    ciao = new LoadVars();
    ciao.load ("testo.txt");
    ciao.onLoad = function(){
    spazio_txt.text= ciao.numero;
    }

    Ma a me quello che interessa è vedere se ho capito qualcosa di +.


    Guardandolo così a me viene da interpretarlo in questo modo.

    La prima riga gli dice di creare una variabile di nome ciao.
    Questa variabile però è vuota....altrimenti non si spiegherebbe l'esistenza del secondo comando che gli dice di caricare dentro a ciao il file di testo.txt.
    A questo punto è carico e nella terza riga viene chiesto di scrivere nell'istanza testo dinamico (spazio_txt) sottoforma di testo (text) l'equivalente valore di ciao ( che ormai ha le spoglia di testo.txt) nella proprietà "numero".

    Però la cosa che mi irrita è che se dovessi scriverlo ad istinto questo script mai + lo scriverei in questo modo.
    Scriverei:

    ciao= newloadVars;

    // (prendendo per scontato che è il comando che crea una variabile vuota).

    ciao.load ("Testo.txt");

    // Ma già qui le virgolette non me le sarei ricordate e credo servano per fargli capire che deve caricarlo sotto forma di testo, senza non so come lo prenda)

    spazio_txt=ciao.numero

    // direttamente..senza on load... function...se dentro a ciao lui ha caricato il file di testo esterno e con .numero vado a richiamare il valore contenuto nel file di testo associato alla categoria "numero" non vedo la necessità di tutto quel castello di comandi....
    Sarà perchè ragiono in modo matematico...però non lo vedo così sbagliato sotto profilo logico....

  5. #5
    ti consiglio di leggere ciò che sta scritto nel link che ti ho dato poco sopra. Viene spiegato passo passo come si usa il loadVars() e ogni rigo viene commentato


    La prima riga gli dice di creare una variabile di nome ciao.
    la prima riga dice: crea un'istanza della classe LoadVars con il nome ciao


    ciao.load ("Testo.txt");
    Ma già qui le virgolette non me le sarei ricordate e credo servano per fargli capire che deve caricarlo sotto forma di testo, senza non so come lo prenda)
    se non metti le virgoletti lui interpreta ciò che scrivi come una variabile che contiene del testo.
    se scrivi:

    pagina = "testo.txt";
    ciao.load(pagina);

    equivale a scrivere:
    ciao.load("testo.txt");


    l'onLoad serve perchè il file esterno non viene caricato all'istante, ma in base al suo peso ci può impiegare un pò di tempo (millisecondi o secondi, dipende).
    se scrivi:
    ciao.load("testo.txt");
    spazio_txt=ciao.numero;

    flash non fa in tempo a caricare i dati dal file txt e quindi nel campo di testo non ci metterà nulla.

    usando invece la funzione onLoad, questa viene richiamata (come dice la parola) soltanto quando il file txt viene caricato dentro flash, e quindi l'azione spazio_txt=ciao.numero
    andrà a buon fine.

    Spero di essere stato un pò d'aiuto


    torno a giocare

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.