Visualizzazione dei risultati da 1 a 3 su 3

Discussione: onEnterFrame problema

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    12

    onEnterFrame problema

    vi espongo il mio problema sperando ci sia qualcuno che sappia darmi una risposta. Ho una funzione (chiamata loadPict) a cui passo l'indirizzo di un'immagine jpeg, crea un movieclip chiamato "holder", dentro a questo inserisce un'altro movie clip chiamato "image" ed esegue la loadMovie dell'immagine passata. Per testare il termine del caricamento dell'immagine per posizianarla al centro del movieclip "holder" creo una funzione che viene eseguita sull'evento OnEnterFrame, quando l'immagine è correttamente posizionata elimino la funzione con una delete onEnterFrame.
    Fino a qui dovrebbe essere tutto chiaro, spero. Il problema è quando richiamo la funzione loadPict mentre sta già caricando un'altra immagine succedono delle situazioni inaspettate (tipo carica l'immagine e non la posiziona al centro)
    Penso che il problema è che i due codici (quello di loadPict e quello all'interno della funzione OnEnterFrame) siano concorrenti e flash non dispone di strutture di controllo tipo i semafori per regolare l'accesso contemporaneo alle variabili.
    Sapete darmi una soluzione?
    Vi ringraio anticipatamente per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Lo script?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    12
    dunque se sei così paziente ti espongo il possibile problema:

    // definizione della funzione che risponde all'evento onEnterFrame
    1.function onEnterEvent(){
    2. if (_root.loaded){
    // CODICE ALPHA
    3. _root.loaded=false;
    4. delete onEnterFrame;
    5. }
    6.}
    7.
    8.// in qualche punto del codice definisco:
    9.if (_root.loaded==false){
    10. _root.loaded=true;
    11. _root.onEnterFrame=onEnterEvent;
    12.}

    il problema si presenta quando:
    // esecuzione codice 8. - 12.
    loaded è false
    assegno loaded a true
    assegno _root.onEnterFrame
    // esecuzione codice 1. - 6.
    entro in onEnterEvent
    testo _root.loaded e verifico che è true perciò entro nell'if della riga 2.
    eseguo il codice ALPHA
    setto _root.loaded a false
    // esecuzione codice 8. - 12.
    contemporaneamente viene eseguito il codice dalla riga 9 alla 12 che testando _root.loaded e verificando che è false lo setta a true ed assegna l'evento _root.onEnterFrame
    // esecuzione codice 1. - 6.
    riprende l'esecuzione che esegue la delete onEnterFrame
    il CODICE ALPHA non viene eseguito!!!! // <--- problema

    so che è impossibile che mi sia spiegato in maniera comprensibile, se riesci a capirci qualcosa sei un genio

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.