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

    As3.0 - controllare che il mouse rimanga premuto

    ciao a tutti,
    devo controllare che venga mantenuto il click del mouse su un video clip.
    Quindi, per essere precisi, quello che interessa non è il controllo su un singolo click,ma avere la possibilità di controllare se la pressione viene mantenuta o meno.

    Questo mi serve per realizzare due pulsanti che mi permettano di fare l oscrolling di un testo.
    Con il seguente codice, riesco a scorrerlo ad ogni click del mouse (n.b. vi è l'uso di una maschera):
    Codice PHP:
    downButton.addEventListener(MouseEvent.MOUSE_DOWNdownButtonPress);
    function 
    downButtonPress(evt:Event):void{
        
    content_mc.content_mc.1;
        }
    //upButtonPress 
    ma fare ogni volta un click per scorrere il testo, diventa noioso: meglio se c'è la possibilità di mantenerlo premuto!


    Grazie per l'aiuto!!

    Ciaoo!

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao Trez

    Hai risolto il problema ?

    Per fare in modo che la funzione associata allo spostamento del clip venga ripetuta in relazione al mouse down sul pulsante devi utilizzare l'evento ENTER_FRAME.

    Ho fatto una prova di esempio e funziona perfettamente ovvero:
    Fin tanto che si tiene premuto il tasto del mouse sul pulsante, viene richiamata la funzione di spostamento del clip.
    Al rilascio (mouse up) viene richiamata la funzione che rimuove l'evento ENTER_FRAME richiamato appunto dalla funzione abbinata al mouse down.

    Ti lascio il codice del mio esempio qualora ti servisse adattarlo alle tue esigenze.
    Codice PHP:
    pulsante.addEventListener(MouseEvent.MOUSE_DOWN,aggiungiAscoltatore);

    function 
    aggiungiAscoltatore(evento:Event):void {
        
    clip.addEventListener(Event.ENTER_FRAME,muoviClip);
    }
    function 
    muoviClip(evento:Event):void {
        
    clip.y++;
        
    pulsante.addEventListener(MouseEvent.MOUSE_UP,stoppa);
    }
    function 
    stoppa(evento:MouseEvent):void{
        
    clip.removeEventListener(Event.ENTER_FRAME,muoviClip);
        
    //trace("Stop");

    Ovviamente è incompleto e serve aggiungere un pò di logica condizionale in modo che la funzione "stoppa" venga richiamata non solo al mouse up, ma anche quando il clip raggiunge una coordinata y definita massima, ma per questo credo tu non abbia problemi.

    ciao

  3. #3
    Grzie mille!
    Appena metto mano a flash provo e ti faccio sapere!

    Grazie ancora!

  4. #4
    Rieccomi!
    La soluzione che mi hai dato funziona benissimo!
    Grazie ancora!

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.