Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    ritorna un booleano, ma non viene salvato in nessuna variabile di assegnazione, quindi si perde nel vuoto.
    2. quando flash vede onEnterFrame in automatico lancia la funzione assegnatagli ad ogni fotogramma. dandogli l'assegnazione ad undefined significa solo che ad ogni fotogramma flash cmq lancia l'onEnterFrame chiamando un undefined. Non farà nulla proprio perchè undefined non è una funzione valida, ma lo lancia cmq.
    Free ActionScript Editor

    Y en silencio y sin cruzar una palabra
    solamente una mirada es suficiente para hablar

  2. #12
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    mi ridocumento e vi rifaccio sapere questa cosa mi interessa parecchio perche' io onEnterFrame lo uso spessissimo e quindi se sbaglio lo voglio sapere.
    Ha me avevano insegnato cosi....
    IACO

  3. #13
    Originariamente scritto nel manuale di FlashMX 2004



    delete
    Availability
    Flash Player 5.

    Usage
    delete reference

    Parameters
    reference The name of the variable or object to eliminate.

    Returns
    A Boolean value.

    Description
    Operator; destroys the object or variable specified by the reference parameter, and returns true if the object was successfully deleted; otherwise returns a value of false. This operator is useful for freeing up memory used by scripts. Although delete is an operator, it is typically used as a statement, as in the following:

    delete x;

    The delete operator may fail and return false if the reference parameter does not exist, or may not be deleted. Predefined objects and properties, and variables declared with var, may not be deleted. You cannot use the delete operator to remove movie clips.
    Se si parla di liberare memoria significa che questa viene deallocata e di conseguenza non esiste piu' ... non e' che esiste ma ha valore booleano, questo non ha senso in nessun linguaggio di programmazione.


    function ritornabooleano() {
    return true;
    }

    se tu lanci questa funzione 10 volte non crei 10 oggetti booleani con valore true a meno che tu non li assegni a mano ...

    esempio:


    var pippo:Boolean = new Boolean( ritornabooleano() );


    in questo modo ho creato nella memoria una nuova variabile di tipo booleano e associatole il valore di ritorno della funzione, ma stando a come la metti tu sembra che quella funzione di perse' "persista" a parte e nel nulla ...

    ... per concludere:

    delete this.onEnterFrame;

    rimuove e ditrugge l' onEnterFrame, non crea una variabile fantasma con valore booleano

    E questo e' consigliato anche negli student book di MX, se poi Giorgio pensa che ogni return true o false di una funzione crei variabili fantasma che occupano memoria e' un altro discorso.

    Per di piu' , come hanno gia' detto, this.onEnterFrame = undefined; significa che si cicla un undefined ma si cicla, non e' inesistente o rimosso, e' diverso.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #14
    ciao Andr3

    grazie del conributo! :adhone:
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  5. #15
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Ciao Andrea ho fatto due prove:

    this.onEnterFrame=function() {
    pippo._x++;
    trace (this.onEnterFrame);
    if (pippo._x > 400) {
    this.onEnterFrame=undefined;
    trace (this.onEnterFrame);\\ torna undefined e non cicla piu niente
    }
    }


    invece

    this.onEnterFrame=function() {
    pippo._x++;
    trace (this.onEnterFrame);
    if (pippo._x > 400) {
    delete this.onEnterFrame;
    trace (this.onEnterFrame);// torna undefined
    }
    }

    il risultato sembra essere lo stesso .... ma non mi torna comunque.... e sbagliata la prova che volevo fare ?
    IACO

  6. #16
    ciao iaco

    esattamente uguale al test che avevo fatto io dopo il tuo suggerimento...
    però come hai potuto notare la differenza tra la soluzione che proseguiva (nonostante il delete) e quella che invece bloccava.. non vi era molta differenza tranne che

    codice:
    function OUT(){
    	_alpha = 100; 
    	_xscale = 100;
    	_yscale = 100;
    this.i=this._alpha;
    this.i=this._xscale;
    this.onEnterFrame=function(){
    trace(this.i)
    if(this.i!=0){
    this.i-=20;
    this._alpha = this.i;
    this._xscale = this.i;
    }else{
    delete this.onEnterFrame;
    
    }
    }
    }
    specificando che _alpha iniziale era = 100
    il delete funziona..

    Attendo Vs.. sono curioso di sentire sia Andr3 che Flash_mx2

    grazie
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  7. #17
    Originariamente inviato da iaco74
    il risultato sembra essere lo stesso .... ma non mi torna comunque.... e sbagliata la prova che volevo fare ?
    Sì, tant'è vero che basta che guardi nell'elenco delle variabili per notare che con il delete l'enterFrame viene totalmente rimosso, mentre associandogli undefined rimane.

    Vero che entrambe restituiscono undefined, ma nel caso del delete è un "Non esiste", nel caso dell'associazione invece è un "ha come valore undefined"

  8. #18
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Originariamente inviato da Broly
    Sì, tant'è vero che basta che guardi nell'elenco delle variabili per notare che con il delete l'enterFrame viene totalmente rimosso, mentre associandogli undefined rimane.

    Vero che entrambe restituiscono undefined, ma nel caso del delete è un "Non esiste", nel caso dell'associazione invece è un "ha come valore undefined"
    Ho rifatto la prova stando attento all'elenco variabili ed hai ragione broly, effettivamente con undefined c'e' l'assegnazione.
    Quindi salvo intervento di altri, cosi come stanno le cose direi che e' meglio usare "delete".

    In questo caso chiedo scusa se ho insistito e ammetto la mia fagianita'
    IACO

  9. #19
    Beh, Siamo tutti qua per imparare no? :bubu:

  10. #20
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Originariamente inviato da Broly
    Beh, Siamo tutti qua per imparare no? :bubu:
    esatto .... grazie per i tuoi chiarimenti
    IACO

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 © 2026 vBulletin Solutions, Inc. All rights reserved.