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

    Costruire una var e richiamarla con loadMovie...come?

    Salve...sto aprendo un po di thread per ogni problema che non riesco a risolvere con i manuali o consultando altri thread....mi scuserete. Vorrei capire come richiamare con loadMovie un immagine jpg da un txt così strutturato:

    params.txt:
    &var1=Ninfee.jpg&var2=Tramonto.jpg&

    lo script è:

    butt.onRelease = function (){
    getNextHighestDepth());
    dati = new LoadVars ();
    dati.onLoad = function (){
    for (i in dati){
    trace (dati[i]);
    box.img.loadMovie (dati[i]) // carico foto
    box.img._alpha=0 // pongo l'alpha a zero
    box.barra._xscale=0 // azzerro la barra in orizzontale
    }
    }
    dati.load ("params.txt");
    }
    box.onEnterFrame=function(){
    /* fintanto che non mi sposto da questa frame
    eseguo ciclicamente i controlli/calcoli descritti
    */
    car=this.img.getBytesLoaded() // byte caricati
    tot=this.img.getBytesTotal() // byte totali
    this.barra._xscale=Math.floor(car/tot*100) //rap. perc. caricamento
    if(car == tot && car > 1024){
    // foto caricata
    this.barra._xscale=100 // solo per sicurezza
    this.img._alpha=100 // vedo la foto
    delete this.onEnterFrame // cancello liberando la CPU da inutili controlli e carichi di lavoro
    } // fine if
    }// fine enterFrame

    in outpout viene fuori:

    Tramonto.jpg
    Ninfee.jpg
    [type Function]
    Error opening URL "file:///C|/Documents%20and%20Settings/Io/Documenti/Miei%20Documenti/Prove/[type Function]"

    Non voglio richiamare le foto modificandone il nome nel txt da Ninfee.jpg a image01.jpg ecc., ma farle richiamare con il txt in quel modo...come fare??

  2. #2
    Uppo per dire che non è il solito problema di caricamento da un txt...mi basterebbe mettere:

    box.img.loadMovie(dati.var1)

    Il mio problema è che voglio passargli quella maledetta "var1", che nel mio txt è:&var1=Ninfee.jpg& non dicendogli direttamente dati.var1...ma costruendola, in modo tale da poter richiamare tutte le foto con un ciclo in cui quello che varia automaticamente è il nome della variabile "var1 poi var2 ecc.). Come già detto prima non voglio rinominare Ninfee.jpg in, ad esempio, image01...e poi costruire questa.
    Ho provato in tutti i modi...la cosa che mi fa innervosire e che nello script precedente quel trace(dati[i]) mi da esattamente quello che mi aspetto cioè Ninfee.jpg...ma passato al loadMovie mi tira fuori quel errore Type Function...vi prego Help

  3. #3
    up

  4. #4
    allora o non ti spieghi o hai fatto un mix delle cose che ti ho inviato combinando gli script

    1) le devi caricare una alla volta in un box singolo ??
    2) le devi caricare come fossero delle miniature ??

    3) devi realizzare una gallery ??


    supponiamo che hai un box singolo e che alla pressione del tasto devi caricare delle immagini il cui nome è scritto in un txt

    mi creo il pulsante alla cui pressione incremento un contatore

    a) leggo i dati del txt e li carico in un array di comodo che contiene i nomi delle immagini

    codice:
    foto_array=new Array() // creo array
    dati = new LoadVars (); 
    dati.onLoad = function (success){ 
       if(success){
          I=1
          while(this["var"+I] != undefined){
                foto_array[I]=this["var"+I]
          }
    }
    dati.load ("params.txt");
    dentro l'array ci vanno a finire
    foto_array[1]="ninfee.jpg"
    foto_array[2]="tramonto.jpg"

    creo un funzione che mi carica (loadMovie)il parametro che le passo

    codice:
    function carica(ID){
    
        box.img.loadMovie (foto_array[ID]) // carico foto presa dall'array
        box.img._alpha=0 // pongo l'alpha a zero 
        box.barra._xscale=0 // azzerro la barra in orizzontale
    
        box.onEnterFrame=function(){ 
        car=this.img.getBytesLoaded() // byte caricati 
        tot=this.img.getBytesTotal() // byte totali 
        this.barra._xscale=Math.floor(car/tot*100) 
        if(car == tot && car > 1024){ 
           // foto caricata 
           this.barra._xscale=100 // solo per sicurezza 
           this.img._alpha=100 // vedo la foto 
           delete this.onEnterFrame 
        } // fine if 
        }// fine enterFrame 
    }
    al bottone che ho sulo stage faccio incrementare solo un indice

    codice:
    ID=0
    butt.onPress=function(){
         if(ID<this._parent.foto_array.lenght){
              ID++
              this._parent.carica(ID)
         }
    }

    Per i punti 2 e 3 ci sono milioni di tutorial

    NB.
    il problema è sempre lo stesso è inutile che apri post simili, se qualcosa non è chiaro continua in quello che hai aperto .


    Ciao

  5. #5
    Grazie rempox...hai ragione sto facendo un po di casino...La questione è che sto cercando di acquisire i vari passaggi che mi servono per arrivare al mio scopo...che è quello di una gallery con miniature che scorrono e con un riquadro dove le immagini vengano caricate dall'esterno con un loadMovie. Il fatto è che voglio capire quello che devo fare. Studiando dei tutorial, tra i quali molti dei tuoi, mi sono reso conto che non sono ancora in grado di comprendere uno script tanto complicato (per me) nel suo insieme. Quindi sto scomponendo i problemi, cercando aiuto su ogni singolo aspetto. Far scorrere le miniature, ad esempio, è allo stato attuale un problema ancora troppo arduo per me (ho cercato di studiare la tua Horiz.gallery). Quindi ora sto cercando di acquisire famigliarità con il caricamento da un txt esterno. Fatto questo, passerò allo studio di come ridimensionare le foto per farle entrare nel clip contenitore...e così via. Sto cercado di crearmi una specie di tutorial per ogni aspetto del progetto che ho in mente. Ovviamente, ti assicuro, che prima di aprire un post mi accerto che non vi sia niente che tratti quello che cerco. Ho fatto ricerche con "txt", "LoadMovie" e "variabili", vengono fuori un casino di cose...in una ricerca sono arrivato a scorrere 22 pagine prima di arrendermi, ma niente che affrontava il come comporre quella maledetta "var1" in modo da potergliela restituire come dati[i]. Alla fine, insieme alla possibilità di utilizzare l'array, che volevo evitare in quanto concetto già più complicato da gestire, mi è stato suggerito di usare questa semplice righa di codice: if (typeof (dati[i]) == "string") messa dopo for (i in dati). Non ci sarei mai arrivato!!!Grazie ancora per l'aiuto e per la pazienza, lo script che mi hai mandato è certamente il più adatto e funzionale allo scopo.Ciao

  6. #6
    Indirettamente, rempox, mi hai aiutato due volte. Ho notato nel tuo script la dicitura "this["var"+I]" e mi ha incuriosito perchè non ho mai pensato di poter usare il this così (da ignorante in materia che sono il this lo vedo solo seguito da un punto (this.questo). Senza capirne bene il significato l'ho provato nell'altro script (sempre tuo) che ho stravolto per allenarmi...e voila funziona. Scrivendo box.img.loadMovie (this["var"+a]) con var a=1 (o costruita...che è quello che voglio fare) viene richiamata var1 (e non serve più il typeof)...Sembra una stronz...ma ci ho perso per intero la giornata passata per cercare di arrivare al risultato di passare quel var1 al loadMovie in maniera costruita.Ora mi resta da capire perchè funziona...:-)Grassie

  7. #7

  8. #8
    Originariamente inviato da rempox
    se me lo dicevi prima.....Ormai

    http://flash-mx.html.it/tutorial/vie...?idtutorial=20


    Buone Feste
    E' appunto questo uno dei tutorial che ho preso da studiare...ma ancora troppo complicato da capire...ora sono fermo nel tentativo di far fare il loop al mio pulsante...così:

    a=0
    butt.onRelease = function (){
    if (a<2){
    a++
    carica(a)
    }
    }
    carica=function(a:Number){
    dati = new LoadVars ();
    dati.onLoad = function (){
    trace (this["var"+a])
    box.img.loadMovie (this["var"+a])

    Mi carica solo la prima immagine...poi alla seconda pressione sparisce anche il box che contiene le immagini. Il trace invece nell'output mi da correttamente Ninfee alla prima pressione e Tramonto alla seconda...boh!!!

    Buone feste a te e grazie

  9. #9
    Caio rempox...il tuo script (allora o non ti spieghi o...) ovviamente fa esattamente quello che voglio (a parte due distrazioni che sono contento di essere riuscito ad individuare). Ora vorrei capire perchè con lo script che ho messo insieme (post sopra) il loop non va...quando sembrerebbe corretto (ai miei occhi da inesperto e secondo quel trace)...mi spiego:

    Prima pressione del bottone: la variabile "a" diventa 1 (so che la cosa, in qualche modo, è già sbagliata), e mi compare Ninfee con tanto di precaricamento

    Seconda pressione: So solo che sparisce tutto tranne la cornice del box che dovrebbe contenere le immagini.

    Quello che non capisco è perchè la funzione trace mi da in output Ninfee alla prima pressione e Tramonto alla seconda, cioè esattamebnte quello che vorrei, ma poi la funzione loadMovie apre solo Ninfee. Mi fai capire perchè??

    Grazie ciao

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.