Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    MOVIMENTO di un oggetto

    Ciao a tutti fr@telli del web-flashiati,

    poichè ormai con lo sviluppo della parte grafica di flash sono diventato bravino, vorrei incominciare ad addentrarmi neln'arcano mondo di AS. A tal proposito non sono proprio un principiante, anche perché grazie alla guida di AS Advanced che ho comprato (50€), qualcosa l'ho capito (ho creato la mia prima funzione complessa ) .
    Se infatti mi metto a "leggere" un codice, gran parte la capisco, sebbene molti oggetti mi sono ancora sconosciuti.
    Più difficile per me è invece "scriverlo" da zero. Ed in questo chiedo ancora il vostro aiuto...

    Per incominciare vorrei imparare a dare il "MOTO" agli oggetti.

    Ho disegnato sul mio stage una palla, e vorrei dargli un movimento, non importa se x o y, ma comunque animarla con un moto.

    Da dove inizio?

    :master:


    RAY
    L'ignorante dice... Il colto confuta... Il saggio riflette.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: MOVIMENTO di un oggetto

    per far muovere gli oggetti ne devi variare la x o la y attraverso un "ciclo visibile" come può essere l'enterFrame o il setInterval

    esempio con il primo (posto che il clip da muovere si chiami "mc", stia a coordinate 0,0 e che ne vogliamo variare la x)
    codice:
    //codice da mettere sulla timeline principale
    mc.onEnterFrame = function(){
    	if (this._x < 300){
    		this._x++;
    	} else {
    		delete this.onEnterFrame;
    	}
    }
    secondo esempio con la stessa premessa
    codice:
    //codice da mettere sulla timeline principale
    sposta = function(clip){
    	clip._x++;
    	if(clip._x>=300){
    		clearInterval(a);
    	}
    }
    a= setInterval(sposta, 100, mc);

  3. #3
    potresti utilizzare anche una proto

    codice:
    MovieClip.prototype.funzione= function (x,y,a,sx,sy,steps) {
    	this.onEnterFrame=function () {
    		this._xstep=(Number(x)-this._x)/Number(steps);
    	        this._ystep=(Number(y)-this._y)/Number(steps);
                    this._rot=(Number(a)-this._rotation)/Number(steps);		
                    this._xsca=(Number(sx)-this._xscale)/Number(steps);
    	        this._ysca=(Number(sy)-this._yscale)/Number(steps);
    	        this._steps=steps;
    		if (this._steps) {
    			this._rotation+=this._rot;
    			this._alpha+=10;
    			this._x+=this._xstep;
    			this._y+=this._ystep;
    			this._xscale+=this._xsca;
    			this._yscale+=this._ysca;
    /			this._steps--;
    		}
    		else {
    			delete this._xstep;
    			delete this._ystep;
    			delete this._xsca;
    			delete this._ysca;
    			delete this._steps;
    			this.onEnterFrame=function () {}
    		}
    	}
    }
    la richiami quando ti serve
    codice:
    mc.funzione(200,129,-180,200,200,6);
    // i numeri corrispondono in ordine di come li vedi
    //posizionex da raggiungere da dove 6, 
    //posizioneyda raggiungere da dove 6, 
    //gradi di rotazione, 
    //ingrandimento/riduci_x, 
    //ingrandimento/riduci_y, 
    //step(velocità)
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  4. #4
    Grazie mille and80,


    il primo esempio che mi hai postato non faceva muovere la mia sfera, mentre con il secondo il moto c'è.

    //codice da mettere sulla timeline principale
    sposta = function(clip) {
    clip._x++;
    if(clip._x>=300){
    clearInterval(a);
    }
    }
    a = setInterval(sposta, 100, ballPuls);


    Praticamente le istruzioni che gli passi nella funzione sono:

    1- Definizione della funzione SPOSTA, a cui dai nome CLIP;
    2- Clip deve spostarsi in orizzontale
    3- Se Clip è posizionato maggiore alla coordinata 300;
    4- ClearInterval e il suo parametro mi sono del tutto ignoti;
    5- Capisco che per ultimo stabilisci che valore assegnare ad A, ovvero gli passi la funzione (SPOSTA), 100 (? cos'è? la coordinata dello stage?), e ovviamente il nome della MV.

    Saresti così gentile da spiegarmi ciò che non ho capito al punto 4 e 5 and80???


    Grazie


    RAY

    L'ignorante dice... Il colto confuta... Il saggio riflette.

  5. #5
    Mitico Fr@tello enigma,

    ci sei sempre!!!


    L'oggetto Prototype potrei definirlo come "un grande mistero"

    Non riesco ad afferrarne l'utilizzo ... ho una mente troppo artistica e poco matematica


    Adesso provo con il tuo esempio....

    Grazie fr@

    RAY
    L'ignorante dice... Il colto confuta... Il saggio riflette.

  6. #6
    Enigma,


    sto per fare una figuraccia...come la faccio sempre con te!

    La prima parte dello scrippettino che mi hai postato per dare moto alla mia sfera immagino lo debba mettere nel primo frame della time line dello stage (giusto?).

    E il "richiamo" invece?

    mc.funzione(200,129,-180,200,200,6);
    Questo dove lo devo mettere?
    In un pulsante aggiungendo on (release) ad esempio?


    RAY
    L'ignorante dice... Il colto confuta... Il saggio riflette.

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    1- definisco la funzione "sposta" a cui assegno un solo parametro "clip" che mi servirà per "svolgere" la funzione
    2- clip, che definirò al richiamo della funzione, si dovrà spostare ad ogni richiamo della funzione, di un pixel in orizzontale
    3- al momento in cui clip "arriva" alla coordinata che voglio il processo si deve arrestare ed eliminare l'intervallo che permette il movimento progressivo
    4- arresto il processo come detto sopra
    5- attivo la funzione con un setInterval, che richiama la funzione ogni tot millisecondi (100 equivale ad un decimo di secondo, con questo parametro puoi variare la velocità del moto), "mc" equivale invece al parametro che devo passare alla funzione, in questo caso il nome del clip

    per info più dettagliate su "setInterval" ti rimando alla guida in linea (F1) che lo descrive abastanza bene
    per i pro/contro il setInterval ti rimando a questa discussione

    spero che sia tutto chiaro

  8. #8
    Grazie and80,

    sei stato chiaro e gentile...


    ... e io ti ringrazio


    RAY
    L'ignorante dice... Il colto confuta... Il saggio riflette.

  9. #9
    Originariamente inviato da docray
    Enigma,


    sto per fare una figuraccia...come la faccio sempre con te!

    La prima parte dello scrippettino che mi hai postato per dare moto alla mia sfera immagino lo debba mettere nel primo frame della time line dello stage (giusto?).

    E il "richiamo" invece?

    mc.funzione(200,129,-180,200,200,6);
    Questo dove lo devo mettere?
    In un pulsante aggiungendo on (release) ad esempio?


    RAY
    Scusa se ti rispondo solo ora ma sono rientrato oggi.


    cmq la proto va scritta sul primo frame
    poi la richiami dove vuoi

    con questo
    mc.funzione(200,129,-180,200,200,6);

    cambiandi i valori

    magari lo assegni all' on(release)

    mc è il nome istanza del clip da muovere
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  10. #10
    Grazie Enigma... Ben tornato

    Adesso lo riprovo.







    RAY
    L'ignorante dice... Il colto confuta... Il saggio riflette.

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.