Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema hitTest

  1. #1

    problema hitTest

    onClipEvent (enterFrame) {
    if (this.hitTest(_root.nota)) {
    _root.i++;
    }
    }


    Questo è il codice che ho utilizzato...
    I due oggetti che vanno a toccarsi sono una linea verticale con un pallino...il mio problema consiste nel fatto che se il pallino è più grande di un pixel la variabile "i" si incrementa fino a quando la linea non a oltrepassato interamente il pallino(in pratica la linea prima di oltrepassare il pallino lo tocca 5 volte portando il conteggio a 5),mentre io vorrei che il conteggio fosse solo di uno....(ps.la variabile i è un esempio ma al suo posto vorrei mettere un suono e quindi non farlo ripetere 5 o sei volte)
    Come posso fare?
    LSW

  2. #2
    da quello che ho capito stai facendo una specie di timeline che scorre su uno spartito
    per cui prova a mettere così:

    onClipEvent (load) {
    tocco=false;
    }
    onClipEvent (enterFrame) {
    if (this.hitTest(_root.nota)and tocco==false) {
    _root.i++;
    tocco=true;
    }
    }

    ovviamente funzionerà solo la prima volta che si toccano, se poi vuoi che si ripristini dimmelo che studiamo meglio la cosa

  3. #3
    Funziona.....hai indovinato....stavo tentando di fare una timeline...
    Però adesso come dicevi te mi servirebbe proprio il ripristino.....
    Potresti dirmi come fare? grazie
    LSW

  4. #4
    il ripristino ti serve dopo un tot di tempo o dopo un dato evento?

  5. #5
    mi serve subito dopo il primo contatto o meglio subito dopo che la linea oltrepassa la nota in modo tale che se metto li vicino un altra nota, viene risuonata....

    Ps (il movie clip della nota vorrei che abbia sempre lo stesso nome di istanza ma che si incrementi sempre di uno (in modo tale che io duplico il movieclip incrementandosi di uno e poi a seconda del valore delle ordinateY(dato dal draggaggio della nota) richiama il do o il re e cosi via "questo sarebbe il mio obbiettivo finale ma è meglio andare per gradi")
    LSW

  6. #6
    i movieclips NON possono avere la stessa istanza.
    se metti lo stesso clip in un'altro punto e ci metti sopra lo stesso script funzionerà per tutti e due
    non funziona invece se ripassi sulla stessa
    però puoi fare un bottone "riparti" che le rimette tutte a true, per farlo cambia queste action:

    onClipEvent (load) {
    tocco=false;
    }
    onClipEvent (enterFrame) {
    if (this.hitTest(_root.nota) and tocco==false) {
    _root.i++;
    tocco=true;
    }
    if(_root.reset==true){
    tocco=false;
    _root.reset=false;
    }
    }

    e sul tuo bottone:

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


  7. #7
    Perfetto grazie mille sei stato molto gentile
    LSW

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.