Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685

    [MX] hitTest "incrociato"

    Ciao,
    mi dareste un aiuto per realizzare un hitTest un po' complesso? (almeno dal mio punto di vista...)

    Ho bisogno di attivare il drag di un MC solo se io lo vado a prendere in una determinata area; una volta preso, lo sostituisco al puntatore del mouse; quando voglio interrompere il drag, posso farlo solamente ritornando con il mouse nell'area dove ho preso il MC e cliccandoci sopra (quindi, se clicco fuori da quell'area non interrompo il drag).
    Fin qui tutto ok!

    Ora, però non riesco più a riprendere l'oggetto mentre, invece, dovrei avere la possibilità di riprenderlo e rimetterlo a posto ogni volta che voglio.

    Questo è il mio script:

    _root.fuori=true;
    MC1.onMouseMove = function(){
    if(AREA.hitTest(_root._xmouse, _root._ymouse, true) and _root.fuori==true){
    Mouse.hide();
    this.startDrag(true);
    }
    }
    MC1.onMouseDown = function(){
    if(AREA.hitTest(_root._xmouse, _root._ymouse, true)){
    trace("giu");
    Mouse.show();
    this.stopDrag();
    _root.fuori=false;
    }else{
    _root.fuori=true;
    }
    }
    FaX

  2. #2
    perchè _root.fuori è uguale a false. Se clicchi fuori dall'AREA e poi torni nell'area funziona.

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    Ciao Yassassin,
    infatti... è proprio come dici tu ma, per poter riprendere il MC, non vorrei che si debba cliccare fuori, deve essere semplicemente con il passaggio del mouse:

    - per prendere il MC entri con il mouse nell'area (senza cliccare)
    - per rilasciarlo entri nell'area e clicchi
    - per riprenderelo devi, semplicemente, rientrare nell'area, senza cliccare

    e così ogni volta che voglio.

    Pensi sia una cosa fattibile?
    FaX

  4. #4
    così:

    codice:
    _root.fuori = true;
    trailer.onMouseMove = function() {
    	if (campoAttivo.hitTest(_root._xmouse, _root._ymouse, true)) {
    		if( _root.fuori == true){
    			Mouse.hide();
    			this.startDrag(true);
    		}
    	} else {
    		_root.fuori = true;
    	}
    };
    trailer.onMouseDown = function() {
    	if (campoAttivo.hitTest(_root._xmouse, _root._ymouse, true)) {
    		trace("giu");
    		Mouse.show();
    		this.stopDrag();
    		_root.fuori = false;
    	} else {
    		_root.fuori = true;
    	}
    };
    in pratica una volta cliccato nell'area sensibile rilascia l'oggetto. poi se esci dall'area e ci rientri riprende l'oggetto.

    ps: ho sostituito i nomi degli mc:
    trailer = MC1
    campoAttivo = AREA

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  5. #5
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    grazie 1000

    ora provo.
    FaX

  6. #6
    Originariamente inviato da ilpiubello
    grazie 1000

    ora provo.

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  7. #7
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    PERFETTO!

    Di nuovo grazie.
    FaX

  8. #8
    Originariamente inviato da ilpiubello
    PERFETTO!

    Di nuovo grazie.
    di niente

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

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.