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

    Sovrapposizione di Oggetti ?

    Salve mi aiutereste con la sintassi dell'HitTest

    Ho un Clip lungo 100 largo 20 (nome Corsia)
    su questo clip è posizionato un clip lungo 30 largo 20 (un cursore)

    Nel clip Cursore c'è un pulsante che se tenuto premuto esegue lo startDRAG, quindi uno spostamento manuale.

    Se invece clicco sulle parti sporgenti del clip corsia il cursore si posiziona nel punto dove ho cliccato.

    Il mio problema è cortocircuitare la zona sottostante il cursore,
    ovvero se clicco sul CURSORE, le azioni associate al clip CORSIA
    non devono entrare in funzione

    if (this.hitTest(_root._xmouse, _root._ymouse, false).......)
    {
    .........
    }

    Si può fare ??

    Grazie

  2. #2

  3. #3
    ce l'hai un'esempio??
    se si puoi mandarmelo che ci provo?

  4. #4

  5. #5
    Le azioni che controllano i click sulla barra di fondo,
    so sull'oggetto

    _root.Vbar.superfice livello sfondo


    Grazie

  6. #6
    Ciao rempox
    per farmi guadagnare tempo (dato che un'idea ce l'avrei) e non dovermi leggere tutti gli script, dov'è che gestisci l'evento "mouse sopra il cursore"?

    è per caso in :
    _root.Vbar.barra ? (layer barra)

  7. #7
    Ho provato una modifica "al volo"...
    Mi pare che funzioni meglio, anche se, quando clicco sul cursore, avviene comunque un piccolo spostamento.
    Lo spostamento è comunque + piccolo per cui non mi impedisce lo startdrag.
    Ti riporto il codice, con le mie modifiche:
    codice:
    onClipEvent (load) {
    	// colore = new Color(this);
    	click = 0;
    }
    onClipEvent (mouseDown) {
    if (_root.Vbar.barra.hitTest(_root._xmouse,_root._ymouse, false)){
         _root.incBarra=0}
    
    // mod. by pablo ... begin
    // faccio l' hitTest SOLO se non sono sopra il cursore
    // utilizzando la variabile "sopra" impostata da quest'ultimo
    if (!_root.Vbar.barra.sopra) {
    // mod. by pablo ... end
    
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    			Msopra = true;
    			_root.YM = _root._ymouse;
    			if(_root.YM>(_root.Vbar.barra._y+_root.newHbarra)){piu=true}
        	    if(_root.YM<(_root.Vbar.barra._y)){piu=false}
    
    			if(_root.YM>=(_root.bot-_root.newHbarra)){_root.Vbar.barra._y=_root.bot-_root.newHbarra}else{_root.Vbar.barra._y=_root.YM}
    
    			//volte = Math.round(_root.Hbarra/_root.newHbarra);
    		
    			//click = click+1;
        
    			//if (click<=(volte-1) and piu) {_root.Vbar.barra._y += _root.newHbarra;}
    		
    			//if (click>(volte-1) and piu)  {_root.Vbar.barra._y = _root.BOT-_root.newHbarra; this.click = 0;}
           
            	//if (click<=(volte-1) and !piu){_root.Vbar.barra._y -= _root.newHbarra;}
    		
    			//if (click>(volte-1) and !piu) {_root.Vbar.barra._y = _root.TOP;this.click = 0;}
    			// colore.setRGB(0xffffff);
    	} else {
    		Msopra = false;
    		// colore.setRGB(0x000000);
    	}
    
    // mod. by pablo ... begin
    // non so bene se è giusto ripetere questo settaggio
    } else {
    	Msopra = false;
    	// colore.setRGB(0x000000);
    }
    // mod. by pablo ... end
    
    }
    
    onClipEvent (enterFrame) {
         
    	if (MSopra) {
    		 _root.incBarra=(_root.Top+_root.Vbar.barra._y-_root.Vbar.UP._height)-_root.Top;
    		//_root.incBarra = (_root.Vbar.barra._y-_root.TOP);
    		
    		_root.libro._y = _root.YLibro-((_root.ScrollLibro/_root.ScrollBarra)*(_root.incBarra));
    	}
    }
    Fammi sapere, ciaoooo

  8. #8
    anche io avevo questa idea solo che il "quadratino " si sposta perchè prende la parte superiore
    nn riesco a fare una modifica che levi sto errore del cavolo

  9. #9

    OK

    Ok risolto
    all'interno di barra "superfice" viene trattata come un pulsante che:
    -------------------------------------------------------
    on (press) {
    _root.sposta = true;
    _root.spostasu = false;
    _root.spostagiu = false;
    _root.avanza=false
    }
    on (release, releaseOutside) {
    _root.sposta = false;_root.avanza=true
    }
    ----------------------------------------------------


    onClipEvent (mouseDown) {
    if (_root.avanza) {
    if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    Msopra = true;
    _root.YM = _root._ymouse;
    if(_root.YM>(_root.Vbar.barra._y+_root.newHbarra)) {piu=true}
    if(_root.YM<(_root.Vbar.barra._y)){piu=false}

    if(_root.YM>=(_root.bot-_root.newHbarra)){_root.Vbar.barra._y=_root.bot-_root.newHbarra}else{_root.Vbar.barra._y=_root.YM}



    } else {
    Msopra = false;

    }
    }
    }
    onClipEvent (enterFrame) {

    if (MSopra) {
    _root.incBarra=(_root.Top+_root.Vbar.barra._y-_root.Vbar.UP._height)-_root.Top;


    _root.libro._y = _root.YLibro-((_root.ScrollLibro/_root.ScrollBarra)*(_root.incBarra));
    }
    }
    GRAZIE

  10. #10
    ovviamente ho dovuto modificare anche un'altra piccola cosina che troverete nel fla ...se vi interessa.

    http://members.xoom.virgilio.it/bubb...oll/index.html
    http://members.xoom.virgilio.it/bubb...imBarraWin.fla


    Mi sembra di aver fatto un esempio completamente parametrizzato.
    Tutti i riferimenti sono sul Clip "T".

    Che ne pensate, se è fatto bene lo posso mandare ad HTML come esempio?
    oppure visto che con MX è stato tutto risolto è inutile.

    Grazie un saluto

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.