Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    41

    menu con movimento ActionScript

    ancora io purtoppo ma con un problema diverso.

    ho un menu, scaricato tempo fa. cliccandoci su, il menu viene fuori con un effetto accelerazione e decelerazione, tutto comandato da action script.

    questo č il modice nel mc "menu"
    _________________________________________
    onClipEvent (load) {
    pos = this._x;
    }
    onClipEvent (enterFrame) {
    if (_root.propsvar == 0) {
    _x = _x+(pos-_x)/10; <---------------
    } else {
    _x = _x+(60-_x)/10; <---------------
    }
    }
    _________________________________________

    questo invece il codice del pulsante che apre il menu
    _________________________________________
    on (press) {
    if (_root.propsvar == 0) {
    _root.propsvar = 1;
    } else if (_root.propsvar == 1) {
    _root.propsvar = 0;
    }
    }
    _________________________________________

    ho la necessita di personalizzarlo ma non riesco a capire dove mettere le mani.

    qualcuno puo spiegarmi in dettaglio cosa fa esattamente questa riga di codice

    _x = _x+(pos-_x)/10;
    o
    _x = _x+(60-_x)/10;
    nico

  2. #2
    Utente di HTML.it L'avatar di arn
    Registrato dal
    Jun 2002
    Messaggi
    420
    si riderisce alla posizione su asse X del menů !
    La rapiditŕ che č una virtů, genera un vizio che č la fretta !
    -------------------------
    Browser: Opera & Firefox

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    41
    ok, ma come faccio per modificare i falori del movimento?

    ho la necessita di adattare questo codice ad un nuovo menu che sto creando
    nico

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    41
    nessuno puo darmi una mano???

    l'effetto mi piace e vorrei poterlo applicare
    nico

  5. #5

    Re: menu con movimento ActionScript

    Originariamente inviato da netbos
    qualcuno puo spiegarmi in dettaglio cosa fa esattamente questa riga di codice

    _x = _x+(pos-_x)/10;
    o
    _x = _x+(60-_x)/10;

    Riga sotto: Qui si sta cercando di spostare un determinato oggetto (del quale non compare il nome) sull'asse delle x. La posizione in x che si vuole raggiungere č 60.

    _x = questa č una proprietŕ del mc in questione. Indica la sua posizione sull'asse delle x.
    60 = posizione in x che si vuole raggiungere.
    10 = coefficiente fisso

    Se volessimo "leggere" quella riga "traducendola" in italiano risulterebbe +o- cosě:

    "Setta la posizione in x del mc su un valore che corrisponde a... -_x = - ...all'attuale posizione dell'oggetto in x incrementandola... - _x+ - ... di 60 meno il valore della posizione in x dell'oggetto diviso per 10. - (60-_x)/10 -

    So che letto cosi potrebbe non risultere tanto semplice , ma proviamo a considerare che il valore della posizione in x dell'oggetto sia uguale a 0, e rileggiamola:

    _x = _x+(60-_x)/10;
    _x = 0+(60-0)/10
    _x = 6

    Cioč flash imposta la _x di quel mc a 6.

    Se tu fai ripetere questo calcolo ad ogni frame a flash, risuterŕ che il tuo mc si spostera sull'asse delle x andando prima piů veloce e poi via via piů piano. Se infatti provi a rifare il calcolo con la x impostata a 6 ti accorgi subito che , questa volta, il volore di x viene incrementato di 5,4.

    Chiaramete per fare si che che l'azione si ripeta ad ogni frame la devi inserire dento ad un evento onEnterFrame.
    Cosě:
    codice:
    tuo_mc.onEnterFrame = function() {
    _x = _x+(60-_x)/10
    }
    Se abbassi il 10 l'animazione andra piů veloce.



    Riga sopra: Identico alla riga sotto solo che, in questo caso, il valore della posizione in x da raggiungere č impostato dentro a una variabile denominata pos .


    Ciao.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    41
    Grazie mille.

    in pochissimo tempo grazie a questo forum ho risolto due grossissimi problemi che avevo da un sacco di tempo.

    spero di non essere stato scocciante

    di nuovo grazie
    nico

  7. #7

    Re: Re: menu con movimento ActionScript

    Chiaramete per fare si che che l'azione si ripeta ad ogni frame la devi inserire dento ad un evento onEnterFrame.
    Cosě:
    codice:
    tuo_mc.onEnterFrame = function() {
    _x = _x+(60-_x)/10
    }
    E se io dovessi fare muovere un mc con l'action script quotato nell'evento "rollover" di un altro mc? :master:

  8. #8
    tuo_mc.onRollOver = function() {
    _x = _x+(60-_x)/10
    }
    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

  9. #9
    Originariamente inviato da enigma_79
    tuo_mc.onRollOver = function() {
    _x = _x+(60-_x)/10
    }
    Ah, ecco... ho trovato un altro metodo, tramite l'aggiunta di un frame.. un po' un casino insomma.

    Giŕ che ci sono, un'altra domandina. Ho applicato lo stesso procedimento con _width, _height e _alpha, ma i miei oggetti si rimpiccioliscono e perdono _alpha fino a sparire. Come faccio a bloccare ad un certo punto l'operazione?
    (tipo quando _width e _heigth sono a 50)..

    EDIT: Inoltre, per precisare, Enigma, come mi hai scritto tu (mc.onRollOver.function()...), farebbe sě che il movimento avvenisse mentre io sto su di un oggetto, e quando mi sposto si fermi.

  10. #10
    Trovato:

    Ho messo un if che controlla la dimensione dell'oggetto, e quando diventa minore di un tot fa questo
    codice:
    delete enter2.onEnterFrame;
    che blocca il ciclo, liberando la memoria da esso occupata..ů

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.