Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    applicare in una funzione una variabile da .txt!!

    salve sto predisponendo uno script che mi duplichi un movieclip un tot volte a seconda da una varibile esterna presa da un file txt!

    il codice che ho generato è il seguente:

    _root.loadVariables("fototot.txt","");
    x = "0";
    i = "totalefoto";
    do {
    set(x++, "");
    rettangolo.duplicateMovieClip("rettangolo"+x, x);
    setProperty("rettangolo"+x, _x, (25*x));
    } while (x < i)
    stop();

    nel file fototot.txt ho predisposto una variabile chimata "totalefoto" ed a essa associo un valore numerico (totalefoto=5 per esempio) che è quello che praticamente determinerà il valore di "i" e in base ad esso il codice duplicherà tot volte il movie (in questo esempio 5 volte).

    ho notato che lo script così strutturato non tiene conto del valore scritto nel file txt!!! cosa sbaglio? penso che forse dovrei convertire la variabile in modo tale che action script la riesca ad interpretare ma non so come fare. CHI MI AIUTA??!!
    NAN V' PENZ PREPT

  2. #2
    La variabile "totalefoto" va richiamata tale quale, senza doppi apici:
    i = totalefoto;

    Quello che invece può crearti problemi, quando l'animazione sarà on-line, è il fatto che non controlli l'avvenuto caricamento del file di testo, per cui, nel momento in cui valorizzi i con il contenuto della variabile totalefoto, quest'ultima potrebbe non essere ancora stata caricata.

    Inoltre, se disponi almeno di Flash-MX, ti consiglio l'uso della nuova classe loadVars al posto di loadVariables.

    Infine ti consiglio la lettura di questa guida, in particolare il primo articolo, per una migliore comprensione delle problematiche legate al caricamento di dati esterni:
    http://flash-mx.html.it/guide/lista_....asp?idguida=9

  3. #3
    grazie per il tutorial, me lo studierò con attenzione!! in quanto allo script ho già provato a fare come tu dici e cioè i = totalefoto senza apici ma con gli stessi risultati...ti dirò di più ho messo un campo di testo dinamico assegnadoli come variabile totalefoto per controllare che effittivamente la variabile venga caricata e quindi sono sicuro che la variabile viene letta dall'action script solo che non me la riconosce nella funzione.... nel frattempo che studio accetto volentieri suggerimenti....
    NAN V' PENZ PREPT

  4. #4
    Vedrai che la lettura della guida ti chiarirà molti problemi.

    Comunque il controllo dell'avvenuto caricamento va sempre fatto. Se usi loadVariables puoi utilizzare l'evento data che viene "scatenato" quando il caricamento è completato.

    Altra cosa:
    x = "0";
    perché i doppi apici anche in questa variabile?
    Così diventa una stringa e NON un numero come serve a te (dato che fungerà da contatore-indice).

    Ancora:
    TUTTE le variabili acquisite tramite loadVariables sono "stringhe" per cui, per utilizzarle come numero devi fare:
    i = Number(totalefoto);

  5. #5
    dopo aver letto il tutorial che mi hai consigliato ho generato questo codice:

    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function()
    {
    this.path.totalefoto.text = this.totalefoto;
    };
    dati.load("fototot.txt");
    x = 1;
    i = Number(totalefoto);
    do {
    set(x++, "");
    rettangolo.duplicateMovieClip("rettangolo"+x, x);
    setProperty("rettangolo"+x, _x, (25*x));
    } while (x < i)

    risultato?? non è cambito nulla non mi legge "i" con il valore scritto sul .txt....

    attendo lumi!!!
    NAN V' PENZ PREPT

  6. #6

  7. #7
    già provato!!! non ne vuole proprio sapere!!! è pazzesco!!!
    NAN V' PENZ PREPT

  8. #8

    niente non va, altri suggerimenti???
    NAN V' PENZ PREPT

  9. #9
    le sto provando tutte...secondo me flash mx nn riesce ad estratte dai file .txt variabili con valori numerici, o meglio non riesce ad assegnare dei valori numerici alle variabili estratte da txt.....
    NAN V' PENZ PREPT

  10. #10
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function()
    {
    this.path.totalefoto.text = this.totalefoto;
    x = 1;
    i = parseFloat(dati.totalefoto);
    do {
    set(x++, "");
    rettangolo.duplicateMovieClip("rettangolo"+x, x);
    setProperty("rettangolo"+x, _x, (25*x));
    } while (x < i)
    };
    dati.load("fototot.txt");



    con

    i = Number(dati.totalefoto); non mi girava metre con

    i = parseFloat(dati.totalefoto); o con
    i = parseInt(dati.totalefoto);

    gira alla meraviglia!!! qualcuno mi spiega ben bene la differenza tra

    Number(), parseFloat() e parseInt()??
    NAN V' PENZ PREPT

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.