Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ho Provato Davvero Di Tutto

    ultimo appello.
    tra un'ora devo consegnare il mio lavoro e sono bloccato in un punto.
    vi spiego:
    ho un clip sullo stage. dentro questo ci sono altri 6 clip ognuno su 1 diverso livello e un bottone.
    questo bottone, al rilascio, attiva un movimento elastico dei 6 clip.
    il movimento elastico l'ho ottenuto assegnando ad ogni singolo clip il seguente script:

    onClipEvent (load) {
    this.acc = 3;
    this.ine = 1.2;
    this.endw = 100;
    this.endh = 100;
    this.endx = _x+90;
    this.endy = _y+0;
    }
    onClipEvent (enterFrame) {
    if (_root.vai) {
    this.dw = (this.dw+(this.endw-this._width)/this.acc)/this.ine;
    this.dh = (this.dh+(this.endh-this._height)/this.acc)/this.ine;
    this.dx = (this.dx+(this.endx-this._x)/this.acc)/this.ine;
    this.dy = (this.dy+(this.endy-this._y)/this.acc)/this.ine;
    this._width += width;
    this._height += height;
    this._x += this.dx;
    this._y += this.dy;
    }
    }
    al pulsante invece questo script:

    on (release) {
    _root.vai = true;
    }

  2. #2
    il messaggio non era finito!!!
    scusate!!
    mi servirebbe sapere come fare a far si che al rollout del bottone, questi 6 clip tornino alla loro posizione iniziale con la stessa funzione elastica, pronti a ripartire dopo un nuovo "onrelease"
    grazie a tutti.
    sono veramente nei guai! ogni consiglio è oro puro!!

  3. #3
    vorrei aiutarti...ma non riesco a capire il problema!

    forse la difficoltà è il fatto che tu abbia associato
    il movimento all'evento onEnterFrame...
    non ti conviene settare una funzione chiamata dagli
    eventi dei pulsanti?! mi spiego:

    setti una function chiamandola, ad esempio andata()
    ed una ritorno() lo script sarà ovviamente il tipo di
    movimento con all'andata una this._x+ ed al ritorno
    una this._x-

    al pulsante
    on(rollOut){
    ritorno();
    }

    forse mi sono spiegata un po' male..
    ma spero cmq possa esserti di aiuto!

    saraWeb

  4. #4
    è giusto che sia on enter frame, ora devi semplicemente aggiungere un if tipo:

    bottone:
    on (release) {
    _root.vai = true;
    }
    on(rollout){
    _root.vai=false;
    }

    clip:
    onClipEvent (load) {
    this.acc = 3;
    this.ine = 1.2;
    this.endw = 100;
    this.endh = 100;
    this.endx = _x+90;
    this.endy = _y+0;
    }
    onClipEvent (enterFrame) {
    if (_root.vai) {
    this.dw = (this.dw+(this.endw-this._width)/this.acc)/this.ine;
    this.dh = (this.dh+(this.endh-this._height)/this.acc)/this.ine;
    this.dx = (this.dx+(this.endx-this._x)/this.acc)/this.ine;
    this.dy = (this.dy+(this.endy-this._y)/this.acc)/this.ine;
    this._width += width;
    this._height += height;
    this._x += this.dx;
    this._y += this.dy;
    }
    if(!_root.vai){
    //stessa funzione che sta sopra ma con i valori invertiti
    }
    }



    :bubu:

  5. #5
    scusatemi forse mi sono spiegata male...
    non intendevo dire che non è giusto onEnterFrame..
    ottima la soluzione vai=false

  6. #6

  7. #7
    SALVATO IN CALCIO D'ANGOLO!!!
    grazie infinite o per il provvidenziale intervento...ora funziona tutto perfettamente!!!
    è da poco che cerco di lavorare con actionscript e ancora prendo testate a destra e a manca!
    senza il vostro aiuto ora sarei davvero nei guai!!!
    grazie ancora!!!

  8. #8
    di niente, buon lavoro :bubu:

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.