Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [MX] forma animata

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4

    [MX] forma animata

    Ciao a tutti, sono un novizio e mi scuso per quello che ad alcuni di voi sembrerà ovvio, ma ho un problema, ho creato una forma con gli AS:
    codice:
    _root.CreateMovieClip("clip",1);
    with (clip){
      lineStyle(2, 999999, 50);
      moveTo(100,100);
      lineTo(300,100);
      curveTo(320,100,320,120);
      ........
    }
    Ho così creato un rettangolo con gli angoli arrotondati, ora logicamente se pubblico il mio progetto vedo il rettangolo disegnato.
    Vorrei però creare un'animazione che mi mostri la creazione della forma....come dire.... un effetto "riempimento" solo che non so come fare


    Grazie

    Faxost

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4
    o se qualcuno di voi "guru" mi può indicare altri metodi per creare l'effetto che ho provato a descrivere...
    Grazie Ciao

    Faxost

  3. #3
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    il più semplice è con l'uso di una maschera.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4
    Si, ma con una maschera non otterrei l'effetto sperato nelle curve, io mi chiedevo se esiteva un comando del tipo:

    ............
    dal frame 1 al frame 30 line to 300,100
    dal frame 30 al frame 40 curve to 400,200
    ............

    e così via. (ESISTE? )

    o se esite un espediente che mi simuli un "riempimento" della linea.

    Se però credi si possa ottenere un effetto decente anche con le maschere potresti essere un pò più chiaro spegandomi come lo faresti tu in dettaglio?

    Grazie.

    Faxost

  5. #5
    io non so che tipo di curva tu debba disegnare, ma poi te lo sistemi tu... cmq guarda quest'esempio (associalo al primo frame della timeline)

    codice:
    this.createEmptyMovieClip("forma", 1);
    this.forma._x = this.forma._y = 200;
    this.forma.lineStyle(1, 0x000000, 100);
    this.forma.moveTo(0, 0);
    this.forma.tx = this.forma.ty = 0;
    this.forma.onEnterFrame = function() {
    	this.tx += random(10) - 6;
    	this.ty += random(10) - 6;
    	this.lineTo(this.tx, this.ty);
    };
    ciauz
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4
    Qualche post più su

    "......Ho così creato un rettangolo con gli angoli arrotondati....."

    cmq grazie, vedo se riasco ad aggiustare quello che mi hai dato, anche se rimane un problema di fondo:

    Si pùo distribure su più frame un comando di disegno AS?

    Cioè se scrivo il comando ...lineTo (100,50)
    in qualche modo posso dirli tramite AS di esegurmi questo comando non in un solo frame (quello in cui l'ho scritto) ma su più frame senza dover spezzetare il comando in più lineTo?

    Spero di essermi spiegato.

    grazie.

    Faxost

  7. #7
    Beh in realtà quando usi il codice non si dovrebbe parlare di frame ma di tempo. Puoi gestire il tutto cmq con il setInterval, che ti permette di eseguire una funzione ogni tot secondi (millisecondi per l'esattezza).
    Ti troveresti ad avere quindi una cosa del genere:

    _root.createMovieClip("clip",1);
    _root.clip.lineStyle(2, 0x999999, 50);
    _root.clip.moveTo(100,100);
    _root.clip.i = 0;
    drawID = setInterval(function(){
    with (_root.clip){
    i++;
    if (i<300){
    lineTo(i,100);
    } else {
    i = 0;
    if (i<320){
    curveTo(i,100,i,120);
    } else {
    ..........
    ..........
    }
    }
    },40);

    Poi ti sistemi tutto come ti è più comodo e a seconda dell'animazione. In questo modo quindi avresti la linea che aumenta ogni 40 millisecondi (simulando un'animazione di 25 fps - standard cinematografico italiano).

    Spero di esserti stato utile in qualche modo.

    Ciauz

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.