Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: Codice OnclipEvent

  1. #1

    Codice OnclipEvent

    Ciao a tutti, sto cercando di interpretare cosa fa il flash movie scaricato da qui:



    tutorial




    Praticamente ad ogni cubetto bianco è assegnato lo stesso codice cioè:

    onClipEvent (load) {
    defaultX = _x;
    defaultY = _y;
    magnet = 500;
    }
    onClipEvent (enterFrame) {
    X0 = this._x;
    y0 = this._y;
    X1 = _root._xmouse;
    Y1 = _root._ymouse;
    distanceX = X1-X0;
    distanceY = Y1-Y0;
    distance = Math.sqrt(distanceX*distanceX+distanceY*distanceY) ;
    powerX = _x-distanceX/distance*magnet/distance;
    powerY = _y-distanceY/distance*magnet/distance;
    forceX = (forceX+(defaultX-X0)/2)/1.660000;
    forceY = (forceY+(defaultY-Y0)/2)/1.660000;
    _x = powerX+forceX;
    _y = powerY+forceY;
    }


    Chi mi sa dire cosa fa di preciso questo codice?


    grazie

  2. #2
    a quanto ho capito dal codice dovrebbe fare tipo effetto magnete con il mouse
    se il mouse si avvicina all'oggetto con sto script fa come se l'oggetto fosse negativo e il mouse negativo....+ magnet è potente + sarà forte la reazione di scontro dell'oggetto col mouse
    ...Ignorance is bliss...

  3. #3
    Si si questo lo avevo capito, ma volevo sapere cosa faceva riga per riga

    cmq grazie molte

  4. #4

    Re: Codice OnclipEvent

    Originariamente inviato da ryosaeb4

    onClipEvent (load) {
    //al caricamento del clip definisce il valore iniziali delle variabili
    defaultX = _x;
    defaultY = _y;
    magnet = 500;
    }
    onClipEvent (enterFrame) {
    //ad ogni entrata di fotogramma
    X0 = this._x;
    //X0 diventa la posizione ascissa corrente
    y0 = this._y;
    //Y0 diventa la posizione ordinata corrente
    X1 = _root._xmouse;
    //X1 diventa la posizione ascissa del mouse
    Y1 = _root._ymouse;
    //Y1 diventa la posizione ordinata del mouse
    distanceX = X1-X0;
    //calcola la distanza delle X
    distanceY = Y1-Y0;
    //...e delle Y
    distance = Math.sqrt(distanceX*distanceX+distanceY*distanceY) ;
    //calcola la diagonale delle distanze (pitagora)
    powerX = _x-distanceX/distance*magnet/distance;
    //calcola la potenza dell'intensità dell'effetto sulle ordinate
    powerY = _y-distanceY/distance*magnet/distance;
    //e sulle ascisse
    forceX = (forceX+(defaultX-X0)/2)/1.660000;
    //lo stesso per la forza
    forceY = (forceY+(defaultY-Y0)/2)/1.660000;
    //...
    _x = powerX+forceX;
    //definisce la nuova posizione in termini di ascisse
    _y = powerY+forceY;
    //...e ordinate
    }


    Chi mi sa dire cosa fa di preciso questo codice?


    grazie
    + preciso0 di così non lo so
    ...Ignorance is bliss...

  5. #5
    Mamma mia sei un mito! Quasi una figura mitologica tra matematico e flasher

    grazie mille ora mi è tutto più chiaro

  6. #6
    ...non ho capito se sei serio o no...vabbè ciao
    ...Ignorance is bliss...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Perchè con flash 8 non funziona e con flash 6 sì?

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Chimira
    Perchè con flash 8 non funziona e con flash 6 sì?
    perchè in AS2 forceX e forceY non sono state dichiarate prima del loro utilizzo, mentre in Flash 6 sono uguali a zero, se non vengono dichiarate in precedenza

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Vero!

    Grazie mille

  10. #10
    seafarer SOno serissimo... mi hai risolto un grande problema!

    Grazie

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.