Visualizzazione dei risultati da 1 a 9 su 9

Discussione: mask

  1. #1

    mask

    Ciao a tutti ho un effetto mask su un'immagine ed ho usato questo script:

    onClipEvent(load){
    for (k=0; k<6; k++) {
    for (j=1; j<=6; j++) {
    inc = K*6+j;
    nome = "m"+inc;

    _root.mask[nome]._xscale = 0;
    _root.mask[nome]._yscale = 0;
    _root.mask[nome].startSize = function() {
    clearInterval(this.ID);
    this.ID = setInterval(this, "doSize", 20);
    };
    _root.mask[nome].doSize = function() {
    if (this._xscale<100) {
    this._xscale += 9;
    this._yscale += 9;

    } else {
    clearInterval(this.id);
    }
    }
    _root.mask[nome].intervallo = (k+j)*100;
    _root.mask[nome].ID = setInterval(_root.mask[nome], "startSize", _root.mask[nome].intervallo);

    }

    }
    }

    Però ora ho l'esigenza che quando finisce l'effetto si sposti alsecondo fotogramma non so come modificare lo script non so come dirgli if(){.... chi mi può dare una mano?
    Grazie mille!!!

  2. #2
    _root.mask[nome].doSize = function() {
    if (this._xscale<100) {
    this._xscale += 9;
    this._yscale += 9;

    } else {
    clearInterval(this.id);
    gotoAndStop(2);
    }
    }
    "...non è detto che sia tardi se non guardi che ora è..."

  3. #3
    ... grazie di avermi risposto ma non finisce l'effetto mask inizia a fare l'animazione e poi và direttamente al frame 2!...non capisco perchè....
    grazie mille!

  4. #4
    tieni presente che con
    this._xscale += 9
    anche con il framerate di 12 frame al secondo, in un secondo la condizione
    if (this._xscale<100)
    non sarà più vera. Prova a mettere

    if (this._xscale<100) {
    this._xscale += 2;
    this._yscale += 2;

    } else {
    clearInterval(this.id);
    gotoAndStop(2);
    }
    }

    e vedi se cambia qualcosa
    "...non è detto che sia tardi se non guardi che ora è..."

  5. #5
    no infatti non cambia anzi mi và direttamente al frame 2 ;
    ho capito cosa intendi!
    quindi non ho soluzione?

    grazie mille!

  6. #6
    Originariamente inviato da anli
    no infatti non cambia anzi mi và direttamente al frame 2 ;
    ho capito cosa intendi!
    quindi non ho soluzione?

    grazie mille!
    Inanzitutti hai un errore nell'else, hai messo clearInterval(this.id); quandi devi mettere this.ID, di conseguenza non ti ferma mai il setInterval, poi ti va al secondo frame perchè la condizione if (this._xscale<100) si verifica già al secondo passaggio, quindi prima accertati che il ridimensionamento del clip avviene gradualmente, e che all'inizio è setatto a 0.

  7. #7
    ... hai ragione avevo scritto lo script in modo errato, però sono sicura che sia settato a zero il ridimensionamento!
    bho non capisco!!!
    grazie mille per la risposta!

  8. #8
    Come ti ha consigliato Raffa funziona bne, ma ti va subito al secondo frame perchè la _xscale diventa subito maggiore di 100

  9. #9
    ok infatti mettendo
    if (this._xscale<300){....
    tutto funziona il problema sono io che non ho capito??
    ma non importa cerco di ragionarci sopra! grazie mille per l'aiuto!

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.