Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    55

    ci vuole la condizione if?

    Ciao a tutti!
    avrei bisogno di aiuto per realizzare un menù.

    illustro la situazione:

    ho tre pulsanti

    A - B - C

    frame 1 - 20 - 30

    1 ----->20 ------>30

    al pulsante A corrisponde il frame 1
    al pulsante B corrisponde il frame 20
    al pulsante C corrisponde il frame 30


    e un animazione di una linea "con un interpolazione di forma" che dal frame 1 al frame 20 si allunga ad es. di 5 cm
    e dal frame 20 al frame 30 di altri 5cm.

    vorrei sapere come fare a far capire ai pulsanti che devono individuare il frame su cui si trova la testina in un
    determinato momento "ad esempio cliccando il pulsante A ed essendo la testina sul frame 30 a far leggere l'animazione
    a ritroso, passando per il frame 20 ma fermandosi sul frame 1"

    oppure "2° esempio"

    cliccando sul pulsante C ed essendo la testina sul frame 10, a farla arrivare al frame 30 passando per il frame 20.


    Spero di essere riuscito a rendere l'idea.
    Se qualcuno sa come aiutarmi ne sarei felice magari anche indicarmi un file d'esempio un .fla

    grazie garbage

  2. #2
    Utente di HTML.it L'avatar di arn
    Registrato dal
    Jun 2002
    Messaggi
    420
    Sinceramente non ci ho capito molto su quello che vuoi fare, se solo ridimensionamenti della linea potresti usare by AS il comando SCALE, comunque per un controllo in reverse (rewind) dell'animazione, ti allego alcune proposte postate sul forum, studiatele e vedi quale si pùò adattare al tuo caso...:



    //basta che metti sul primo frame dell'animazone in questione il codice
    //
    rit=false;
    this.onEnterFrame=function(){
    if(this._currentframe==this._totalframes)rit=true
    if(rit==true)this.prevFrame();
    }
    //
    ---------------------------------------------------------------------
    //
    //Inserisci su un pulsante:
    on (rollOver) {
    _root.direzione = true;
    }
    on (rollOut) {
    _root.direzione = true;
    }
    //
    //
    //nella clip animata :
    onClipEvent (load) {
    _root.direzione = false
    }
    onClipEvent(enterFrame){
    (_root.direzione == true)?this.gotoAndStop(_currentframe-1)this.gotoAndStop(_currentframe+1))
    }

    ---------------------------

    //fai la tua anim. sullo stage
    //metti un pulsante istanzialo col nome di btn1

    //inserisi il codice sul primo frame
    this.onEnterFrame=function(){
    if (rit==true){this.prevFrame();
    }

    }

    btn1.onPress=function(){
    rit=true;
    }

    -----------------------------------------
    //
    //Metti il movimento (l'interpolazione) in un movieClip al quale assegni:
    onClipEvent (enterFrame) {
    gotoAndStop(_currentframe+_root.move);
    }
    //
    //Poi sul pulsante per andare avanti metti:
    on (release) {
    move = 1;
    }
    //
    //....in quello per andare indietro metti invece:
    on (release) {
    move = -1;
    }
    //
    ----------------------------------------------
    //
    //Sull'ultimo frame questo script :
    //
    _root.onEnterFrame = function(){
    this_currentframe > 1 ? prevFrame() : delete this.onEnterFrame
    }
    //
    // La timeline andrà al contrario dall'ultimo al primo !!!...by Broly
    La rapidità che è una virtù, genera un vizio che è la fretta !
    -------------------------
    Browser: Opera & Firefox

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    55
    ciao arn

    grazie per gli script non ho ancora provato ad utilizzarli ma adesso mi ci metto.
    non sono molto pratico di actionscript:
    comunque!

    ascolta se provo a fare un file con l'animazione e i tre pulsanti e mandarteli, ti va di provarci tu?
    magari è più semplice di quanto non sembri

    fammi sapere

  4. #4
    Utente di HTML.it L'avatar di kansuke
    Registrato dal
    Apr 2004
    Messaggi
    350
    cm .... pacciamo in pixel che è meglio
    mi risale a galla una vecchia discussione tra pixel e cm, uno spasso.

    comunque se devi stare a modificare una barra che deve allungarsi e accorciarsi forse sarebbe una scelta saggia invece di animare ed interpolare di modificarla con AS manipolando l'attributo _width.

    In effetti far viaggiare indietro la testina non è possibile, anche se è possibile spostarla di volta in volta al frame precedente come ti è stato sugerito.
    "Hanno chiuso le mandrie nelle stalle
    perchè liberi siamo fino all'alba."
    R. Kipling

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    55
    sono costretto a dover gestire un interpolazione.

    io pensavo "senza però saper utilizzare il codice" di dare una condizione ai pulsanti

    ad esempio se mi trovo sul frame N° 20 e sto per cliccare il pulsante A che rimanda al frame 1, lui dovrebbe rilevare la posizione di partenza "fotogramma 20 e dirgli di andare al fotogramma 1 passando a ritroso per tutti gli altri fotogrammi".


    se qualcuno è disposto a dare un'occhiata gli mando il .fla dove c'è all'interno sulla timeline l'animazione che sisviluppa su 20 frame e i tre pulsanti "A - B - C" a cui assegnare lo script.

    grazie!!!
    garbage

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    55
    nessun aiuto?

  7. #7
    scusate l'intromissione, ma perchè non provi ad esempio
    sul fotogramma 10: go("reverse");
    così facendo passi dal frame 10 a 0 a ritroso!
    se mi dai la tua e-mail Ti allego un file che potrebbe esserti utile

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da garbage
    nessun aiuto?
    questo lo scrivi nella timeline principale
    codice:
    function muoviTestina(frameInit, frameFin){
    	_root.createEmptyMovieClip("gest", 1);
    	_root.gest.onEnterFrame = function(){
    		if(frameInit != frameFin){
    			if(frameInit > frameFin){
    				frameInit--;
    				_root._currentframe = frameInit;
    			} else if (frameInit < frameFin){
    				frameInit++
    				_root._currentframe = frameInit;
    			}
    		} else {
    			delete this.onEnterFrame;
    		}
    	}
    }
    poi lo richiami nel pulsante con
    codice:
    on (release){
    	muoviTestina(_root._currentframe, 30);
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    55
    grazie per il codice ma non riesco a farlo fungere.

    rinnovo l'invito a chi volesse guardare direttamente il file e metterci mano.
    secondo me ci impieghereste un minuto.

    fatemi sapere
    ciao

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da garbage
    grazie per il codice ma non riesco a farlo fungere.

    rinnovo l'invito a chi volesse guardare direttamente il file e metterci mano.
    secondo me ci impieghereste un minuto.

    fatemi sapere
    ciao

    non ho flash qui e non potrei vederlo, il codice è da verificare, però se sei completamente a digiuno di AS, forse è un po' difficile da inserire nel filmato e da far funzionare correttamente, non posso aiutarti più di così

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.