Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754

    Movimento Random di un MC

    Ciao ragazzi,

    Io ho un MC lo importo nello stage e vorrei che avesse
    un movimento random nella pagina..
    E' possibile ottenerlo con qualche righetta di AS?

    Grazie 1000


  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    Per random cosa intendi?
    • una transazione di ingresso (entrata e stop sul punto finale)
    • un movimento continuo e costante (gira in un tondo, scorre da una parte all'altra sempre sulla stessa direzione)
    • un movimento continuo e imprevedibile (come una mosca impazzita)
    • altro, dimmi tu

  3. #3
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Originariamente inviato da jollyfish
    Per random cosa intendi?
    • una transazione di ingresso (entrata e stop sul punto finale)
    • un movimento continuo e costante (gira in un tondo, scorre da una parte all'altra sempre sulla stessa direzione)
    • un movimento continuo e imprevedibile (come una mosca impazzita)
    • altro, dimmi tu
    • un movimento continuo e imprevedibile (come una mosca impazzita)

    Andrebbe benissimo..


  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    ecco un primo esempio che dovrebbe funzionare da Flash MX in poi
    codice:
    function muovi() {
    	if (((Math.round(_root.myMC._x-myNewX)<2) && (Math.round(_root.myMC._y-myNewY)<2)) || (isNaN(myNewX) || isNaN(myNewY))) {
    		myNewX = Math.random()*550
    		myNewY = Math.random()*400
    	} else {
    		_root.myMC._x = ((_root.myMC._x*9)+myNewX)/10
    		_root.myMC._y = ((_root.myMC._y*9)+myNewY)/10
    	}
    }
    myInterval = setInterval(this, "muovi", 10)
    10 righe!
    In questo esempio il tuo MovieClip si chiama myMC e lo stage è di 550x400. Questo script può andare sulla root principale o dentro un qualsiasi elemento della tua animazione.

    Fai una prova e dimmi se ti piace, ora vado a cena, se non ce la faccio stasera, torno domani sera e ne inventiamo un altro, se ti va, oppure vediamo di adattare questo alle tue esigenze.

  5. #5
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Gentilissimo..

    Ora lo provo e ti faccio sapere..

    Grazie 1000

  6. #6
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Funziona, l'unico problema è che il mio MC scompare
    dalla scena, come posso bloccare i suoi movimenti in
    un area?

  7. #7
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Sai, ora che ci penso forse sarebbe meglio ottenere
    un movimento continuo ma costante e non imprevedibile..

    Come dicevi tu è davvero una "mosca impazzita"!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    Non mi reggo in piedi per il sonno quindi ti lascio, per oggi, con una mezza soluzione... scusami...

    Aggiungi all'inizio del codice:
    codice:
    mySpeed = 9
    myLeft = 0
    myRight = 550
    myTop = 0
    muBottom = 400
    Queste variabili ti permetteranno di mantenere il movimento dentro un rettangolo predefinito e di controllare la velocità.
    Se lasci i valori che leggi qui sopra avrai lo stesso identico risultato di prima, tu prova a cambiarli e a vedere come reagisce. Le variabili indicano:
    • mySpeed
      la velocità di movimento, più piccolo è il numero più veloce andrà il movieClip
    • myLeft
      limite sinistro del movimento, in pixel
    • myRight
      limite destro del movimento, in pixel
    • myTop
      limite superiore, in pixel
    • myBottom
      limite inferiore, in pixel

    per fare in modo che i valori inseriti in queste cinque variabili siano usati dallo script devi cambiare le righe 3, 4, 6 e 7:

    Riga 4, quello che era:
    codice:
    myNewX = Math.random()*550
    Diventa:
    codice:
    myNewX = myLeft + (Math.random()*(myRight-myLeft))
    Riga 5, quello che era:
    codice:
    myNewY = Math.random()*400
    Diventa:
    codice:
    myNewY = myTop + (Math.random()*(myBottom-myTop))
    Righe 7 e 8, quello che era:
    codice:
    _root.myMC._x = ((_root.myMC._x*9)+myNewX)/10
    _root.myMC._y = ((_root.myMC._y*9)+myNewY)/10
    Diventa:
    codice:
    _root.myMC._x = ((_root.myMC._x*mySpeed)+myNewX)/(mySpeed+1)
    _root.myMC._y = ((_root.myMC._y*mySpeed)+myNewY)/(mySpeed+1)
    Fatto ciò abbiamo uno script di 15 righe, sostituendo i valori nelle prime cinque variabili avrai il controllo della velocità e della posizione...

    A domani...

  9. #9
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Sei un grande!

    Domani ci provo e ti faccio sapere..

    Grazie ancora..


  10. #10
    Utente di HTML.it L'avatar di Kavaweb
    Registrato dal
    Nov 2005
    Messaggi
    2,754
    Ciao,
    Ho provato..

    Allora la "mosca" si muove solo se la pubblicazione del file
    swf viene fatta per la versione 6 del Flash Player (no problem..)

    Ho provato a cambiare i valori ma l'unico che sembra funzionare
    è la velocità di movimento, per il resto l'oggetto punta sempra
    in alto a sinistra e scompare..

    Mmm..proverò a smanettarci ancora un po..

    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.