Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562

    hitTest e la hitArea...come si fa?

    Mi capita di programmare un piatto sul quale poggiare dei cibi.
    Uso un evento onMouseUp che controlla se l'oggetto che sto trascinando si trova hitTest sul piatto.

    Quindi tutto funziona. Ma l'hitTest mi considera tutta l'area quadrata del MovieClip del piatto e non solo il disegno del piatto stesso che si trova nel MC. E' chiaro che quindi io non vorrei far posare il cibo ai bordi del piatto Come si fa?

  2. #2
    Ciao

    Sono un pivello ma la parte del hitTest me la sono già studiata tutta e forse ti posso aiutare.

    codice:
    onclipevent(mousemove){
        if(this.hitTest(_root._xmouse, _root._ymouse, true)){evento che vuoi}
    }
    Se metti a true l'ultimo parametro di hitTest ti considera la forma.
    Dovrai disegnare il piatto in due parti e eseguire il controllo sul fondo del piatto.
    Spero di esserti stato utile.

    Enrico

  3. #3
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Si spiagami...ma quello che hai scritto cosa significa veramente...che il clip si scontra contro cosa??!? contro il mouse? non capisco

  4. #4
    Esempio

    my_mc.hitTest(x, y, shapeFlag);
    my_mc.hitTest(target)

    Parametri
    x La coordinata x dell'area attiva sullo stage.

    y La coordinata y dell'area attiva sullo stage.

    Le coordinate x e y sono definite nello spazio di coordinate globali.

    target Il percorso target dell'area attiva che può intersecare o sovrapporsi all'istanza specificata in my_mc. Generalmente, il target rappresenta un pulsante o un campo per l'immissione di testo.

    shapeFlag Valore booleano che specifica se valutare l'intera forma dell'istanza specificata (true) oppure solo il riquadro di limitazione (false). Questo parametro può essere specificato solo se l'area attiva è identificata dai parametri delle coordinate x e y.

    Valori restituiti
    Un valore booleano true se my_mc si sovrappone all'area specificata, in caso contrario, il valore è false.

    Descrizione
    Metodo; valuta l'istanza specificata in my_mc per verificare se si sovrappone o interseca con l'area attiva identificata dall'argomento target o dai parametri dalle coordinate x e y.

    Uso 1: confronta le coordinate x e y alla forma o al riquadro di limitazione dell'istanza specificata, a seconda dell'impostazione di shapeFlag. Se shapeFlag è impostato su true, viene valutata solo l'area correntemente occupata dall'istanza sullo stage e se le coordinate x e y si sovrappongono in un punto qualsiasi, viene restituito il valore true. Ciò consente di determinare se il clip filmato si trova all'interno di un'area o di un punto attivo specificato.

    Uso 2: valuta i riquadri di limitazione dell'istanza specificata e del target, quindi restituisce true se si sovrappongono o intersecano in un punto qualsiasi.

    Esempio
    Nell'esempio seguente, viene usato il metodo hitTest() con le proprietà _xmouse e _ymouse per determinare se il mouse si trova sul riquadro di limitazione del target:

    if (hitTest( _root._xmouse, _root._ymouse, false));

    Nell'esempio seguente, viene usato il metodo hitTest() per determinare se il clip filmato ball interseca o si sovrappone al clip filmato square.

    if(_root.ball.hitTest(_root.square)){
    trace("ball interseca square");
    }

    Spero di esserti stato utile

    Enrico

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    scusate se riporto in vita una vecchia discussione, ma ho trovato la risposta ad un mio quesito, solo che vorrei dei chiarimenti, perchè non riesco a capire come far funzionare questa cosa, mi potreste fare un esempio pratico??
    Ciao By Peter_Pan...

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.