Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    36

    Disattivare il click del mouse

    Ciauz.
    Mi chiedevo se c'era un modo per disattivare solamente il click su un bottone. (la funzione onRelease)

    So che si può disattivare il bottone con la funzione .enabled=false , ma in questo modo non è più selezionabile, e quindi non risponde ai comandi come rollover, rollout, ecc

    SteveZ

  2. #2

    Re: Disattivare il click del mouse

    Originariamente inviato da SteveZ
    Ciauz.
    Mi chiedevo se c'era un modo per disattivare solamente il click su un bottone. (la funzione onRelease)

    So che si può disattivare il bottone con la funzione .enabled=false , ma in questo modo non è più selezionabile, e quindi non risponde ai comandi come rollover, rollout, ecc

    si ti basta una cosa del genere
    se una volta cliccato lo vuoi disattivare

    on(release){
    if(!aperto){
    //azione al click
    aperto=true;
    trace(aperto)
    }

    }

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se non ti serve, basta non metterlo proprio ma se non ti serve solo temporaneamente, o lo disattiviti utilizzando appunto enabled oppure al primo click, disabiliti esclusivamente la funzione onRelease assegnandogli un null o undefined o eliminando proprio la funzione

    myInstance.onRelease = function(){
    delete this.onRelease;
    }

    ovviamente quando ne avrai di nuovo bisogno dovrai riassegnargli la funzione completa

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    36
    Grazie delle risposte immediate!!
    Vi spiego:
    Ho un bottone che al click fa partire una tween di qualche secondo, ma ovviamente ricliccando prima della fine, la tween riparte dall'inizio.
    Vorrei disattivare solo la funzione onrelease dal bottone stesso, e poi riattivarla con onMotionFinished, al termine della tween.
    Se lo disabilito e riabilito con .enabled, il bottone perde le proprietà che acquisisce al rollover,
    Quindi mi servirebbe solo di disattivare il click del mouse per i secondi della tween.
    SteveZ

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    36
    uppo il thread.
    Idee su come disattivare solamente il click?
    Sto impazzendo :/
    SteveZ

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da SteveZ
    uppo il thread.
    Idee su come disattivare solamente il click?
    Sto impazzendo :/
    l'idea di crescenzo è assolutamente valida... hai prova a verificarla?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    36
    si, ma purtroppo nn porta a nulla, forse perchè non ho ben capito la dinamica del codice..
    Oggi sto uscendo matto con questi bottoni, potrei ovviare se sapessi fare un'altra cosa...

    Praticamente io abilito l'alpha di un mc al passaggio (rollover)
    questo mc torna ad alpha 0 al (rollout).
    Il problema è che questo MC ha dei pulsanti al suo interno, e quando clicco uno di questi, interpreta il click come se fosse un rollout dell'mc principale.
    Cosa posso fare per risolverE?
    Ho provato a disabilitare il rollout dell'mc principale sui pulsanti interni, ma non va..
    Idee?
    SteveZ

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    bene o male ho capito la tua intenzione, ma sarebbe meglio se l'azione di rollover sul pulsante fosse gestita in maniera diversa, utilizzando gli eventi del mouse ed un hitTest del puntatore del mouse, con il clip... copi e incolli questo codice nella timeline e sostituisci le parti commentate con il codice corrispondente

    Codice PHP:
    var mObj = new Object();
    mObj.onMouseMove = function(){
    if(
    clip.hitTest(_xmouse_ymouse)) {
    // azioni al rollover
    } else {
    // azioni al rollout
    }
    }
    Mouse.addListener(mObj); 

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    36
    azz eccellente!!
    Lo script farebbe al caso mio!!
    Funziona,ma è impreciso, e sembra come se l'hittest faccia riferimento ad altre coordinate, sicuramente perchè sto lavorando dentro un MC resizabile. (anche se ho provato con l'mc non resizato)
    Ho provato a dare il percorso dell'MC a ymouse ed xmouse, ora è un pò piu preciso, ma sempre lontano dalla posizione dell'mc che ho usato come riferimento per l'hittest
    Per dare all'hittest una posizione relativa all'mc come dovrei fare?

    Un altra cosa che non mi è chiara è:
    L'hittest fa un controllo serrato, quindi se io gli associo una tween, lui prova a rifarla per ogni spostamento del mouse, e ciò appesantisce il filmato, giusto?
    Come si può fare in modo che la realizzi solo all'entrata ed all'uscita?
    Scusa le domande contorte,mi sto addentrando nella realizzazione di un mc davvero complesso :|

    Grazie mille!
    SteveZ

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    per il problema di spostamento delle coordinate, non posso aiutarti, dipende da come hai realizzato il tutto fino ad ora

    per quanto riguarda la seconda domanda, anche in questo caso si tratta di utilizzare una variabile booleana nei due "stati" (rollover e rollout)

    non voglio fuorviarti, ma in questo articolo che ho scritto, ho parlato anche del rollover/rollout fatto alla stessa maniera di come ti ho indicato, ma con in più una verifica che blocca il ripetersi delle azioni:

    - in stato normale
    - una volta entrato nel clip
    - quando se ne esce con il mouse

    puoi adattare questo codice alla tua esigenza (solo questo del listener)

    [edit].. ecco il codice

    Codice PHP:
    // inizializzo una variabile booleana per verificare se quando il mosue si muove è sul newsticker e di conseguenza ne deve "uscire fuori" (rollout)
    var rollout:Boolean false;
    // creo un oggetto "ascoltatore" che tiene traccia degli eventi applicabili alla classe Mouse
    var mouseListener:Object = new Object();
    // utilizzo l'evento onMouseMove per verificare se il mouse si trova in un determinato momento fuori/dentro newsticker
    mouseListener.onMouseMove = function() {
        
    // se la variabile rollout è false, vuol dire che sto entrando (rollover) nel clip newsticker
        // se invece è true, vuol dire che ne sto uscendo (rollout)
        
    if (!rollout) {
            
    // se vado sul newsticker blocco l'animazione (if)
            // se ne esco, la riattivo (else)
            
    if (newsticker.mask.hitTest(_xmouse_ymouse)) {
                
    newsticker.t.stop();
            } else {
                
    newsticker.t.resume();
                
    rollout true;
            }
        } else {
            
    // quando rientro nel newsticker riabilito il primo blocco if/else
            
    if (newsticker.mask.hitTest(_xmouse_ymouse)) {
                
    rollout false;
            }
        }
    };
    // aggiungo l'ascoltatore alla classe Mouse, in modo da fargli verificare gli eventi sopra descritti
    Mouse.addListener(mouseListener); 

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 © 2026 vBulletin Solutions, Inc. All rights reserved.