salve a tutti,
ho un problema a gestire un ciclo onEnterFrame. posto il codice e poi lo discuto:
questo è sulla timeline principale.codice:this.onEnterFrame = function() { if (i_dopo._x==0 && i_dopo._y==-768) { this.i_dopo.i_trama1.play(); delete this.onEnterFrame; } }
il mio stage è settato a 1024 x 768.
i_dopo è un movieclip grande che io muovo utilizzando le freccette e che è composto da 4 altri movieclip ognuno dei quali è un 1024 x 768.
i_trama1 è uno di questi movieclip che compongono i_dopo. questo ha al suo interno un animazione con stop() all'inizio e alla fine.
in sostanza, quando io faccio muovere i_dopo, se mi trovo in determinate coordinate(x=0 e y=-768), l'animazione all'interno di i_trama1 deve partire.
con il codice sopra inserito, la cosa funziona a meraviglia. l'animazione parte, cancello il ciclo onenterframe ed evito così il loop.
il problema subentra nel momento in cui devo aggiungere anche gli altri movieclip che compongono i_dopo (i_trama2, i_trama3 e i_trama4).
il codice diventerebbe così:
ovviamente in questo modo non funziona. esplicato il primo if, l'onEnterFrame si cancella e buonanotte al secchio.codice:this.onEnterFrame = function() { if (i_dopo._x==0 && i_dopo._y==-768) { this.i_dopo.i_trama1.play(); delete this.onEnterFrame; } else if (i_dopo._x==0 && i_dopo._y==0) { this.i_dopo.i_trama2.play(); delete this.onEnterFrame; } else if (i_dopo._x==-1024 && i_dopo._y==-768) { this.i_dopo.i_trama3.play(); delete this.onEnterFrame; } else if (i_dopo._x==-1024 && i_dopo._y==-1536) { this.i_dopo.i_trama4.play(); delete this.onEnterFrame; }
come fare?
io devo poter muovere il grande movieclip "i_dopo" ed ogni volta che si trova in una di quelle coordinate deve partire uno di quei movieclip, una volta sola, non in loop.
grazie in anticipo

Rispondi quotando