Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    hitTest e coordinate locali

    ho una serie di movieclip annidati: qualcosa del tipo pippo_mc dentro pluto_mc dentro paperino_mc

    paperino_mc ha _x = 200 e _y = 200
    pluto_mc ha _x = 0 e _y = 0

    pippo_mc ha _x = 0 e _y = 0

    (per tutti e tre i clip il punto di registrazione e' nell'angolo superiore sinistro del clip)

    quando creo un evento:

    paperino_mc.pluto_mc.pippo_mc.onmouseMove = function(){
    if (this.hitTest(_root._xmouse, _root._ymouse, true)){ trace("ciao"); }
    }

    nn riesco mai ad ottenere la stampa...hitTest torna sempre false!

    se e' un problema di coordinate globali/locali come posso risolverlo?
    Gabriele B. - http://9thcircle.it

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: hitTest e coordinate locali

    il codice l'hai scritto proprio proprio così?

  3. #3
    beh no, non proprio. ma grosso modo siamo li'

    in realta' ho un clip item_mc contenuto dentro parent_mc: sono due riferimenti validi all'interno di una mia classe MenuItem. Al costruttore di MenuItem passo parent_mc come parametro e dentro c'e':

    codice:
    this.item_mc = parent_mc.attackMovieClip("item_mc", name + "_mc", parent_mc.getNextHighestDepth());
    il clip viene correttamente creato dentro parent_mc, ma quando cerco di aggiungere un comportamento dinamico tipo:

    codice:
    var thisObj = this;
    
    this.item_mc.onMouseMove = function(){
    		
    if (this.hitTest(thisObj.parent_mc._xmouse, thisObj.parent_mc._ymouse, true))  trace("hit");
    else trace("miss");
    			
    			
    }
    hitTest torna sempre false

    insomma il contesto e' piu' o meno questo...
    Gabriele B. - http://9thcircle.it

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non so se possa centrare ma... prova a levare il true finale, se non và questo proviamo una soluzione alternativa

  5. #5
    nessun cambiamento :/
    Gabriele B. - http://9thcircle.it

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    bene, se invece di sfruttare il metodo onMouseMove del clip provi ad usare un listener per la classe Mouse?

    codice:
    var thisObj = this;
    var target:MovieClip = this.item_mc;
    var mo:Object = new Object();
    mo.onMouseMove = function(){
    		
    if (target.hitTest(thisObj.parent_mc._xmouse, thisObj.parent_mc._ymouse))  trace("hit");
    else trace("miss");
    }
    prova...

  7. #7
    il tuo codice cosi' com'e' copiato ed incollato nn va...ma nn so dirti nulla su hitTest perche'...nn trigga proprio onMouseMove!
    Gabriele B. - http://9thcircle.it

  8. #8
    ho provato di tutto...

    this._xmouse
    this.parent_mc._xmouse
    this._parent._xmouse
    _root._xmouse

    ok...li sto anche provando a casaccio lo ammetto...ma proprio nn riesco a uscire fuori da questo ginepraio...
    Gabriele B. - http://9thcircle.it

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da TheClue/Nash
    il tuo codice cosi' com'e' copiato ed incollato nn va...ma nn so dirti nulla su hitTest perche'...nn trigga proprio onMouseMove!
    ho scordato un pezzo

    codice:
    var thisObj = this;
    var target:MovieClip = this.item_mc;
    var mo:Object = new Object();
    mo.onMouseMove = function(){
    		
    if (target.hitTest(thisObj.parent_mc._xmouse, thisObj.parent_mc._ymouse))  trace("hit");
    else trace("miss");
    }
    Mouse.addListener(mo);
    riprova

  10. #10
    nessun cambiamento
    Gabriele B. - http://9thcircle.it

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.