+ Reply to Thread
Results 1 to 4 of 4

Trucco del giorno - MovieClip.mouseChildren

This is a discussion on Trucco del giorno - MovieClip.mouseChildren within the Articoli e tutorials forums, part of the Flash Italiano category; Eccoci al trucco del giorno. Dopo aver visto la differenza tra target e currentTarget , dopo aver analizzato la proprietà ...

  1. #1
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,762
    Rep Power
    11

    Trucco del giorno - MovieClip.mouseChildren

    Eccoci al trucco del giorno.
    Dopo aver visto la differenza tra target e currentTarget , dopo aver analizzato la proprietà droptarget , oggi analizziamo la proproietà mouseChildren della clase DisplayObjectContainer.

    Qusta proprietà posiamo utilizzarla con MovieClip, Sprite, Loader e Stage.
    Perchè ? Perchè la classe DisplayObjectContainer è superClass di Loader, Sprite e Stage , quindi significa che le 3 classi citate erditano metodi e proprietà da DisplayObjectContainer. La MovieClip a sua volta invece è subclass della Sprite, quindi eredita i suoi metodi.

    Perchè parlare di mouseChildren?
    Semplice: può risolvervi un bel problema.
    Mettiamo caso che abbiamo una MovieClip con all' interno diversi oggetti ( esempio un campo di testo ) e che vogliamo fare interagire il Mouse con questa MovieClip.
    Aggiungiamo i listeners necessari in ascolto e quando proviamo notiamo che il mouse sopra alla MovieClip non diventa ' manina '. Allora andiamo a leggere che esiste una propretà chiamata buttonMode che abiliterà il mouse a diventare ' manina ' ogni qualvolta sarà sopra la MovieClip. ma non è ancora finita perchè se provassimo in questo momento avremmo un pccolo problema e cioè che il mouse diventa ' manina ' solo se non sta sopra al campo di testo inserito nella MovieClip.

    Ecco che bisogna intervenire con la proprietà mouseChildren, in questo modo...*

    Creo un FLA che salvo con nome ' main.fla '.
    Al suo interno creo una MovieClip sullo Stage che chiamo ' clip_mc ' di qualsiasi forma.
    All' interno di clip_mc creo un campo di testo con qualsiasi testo.

    Ora supponiamo che io volessi applicare un evento di MOUE_OVER su clip_mc, farei in questo modo:
    Code:
    clip_mc.buttonMode=true;
    clip_mc.addEventListener(MouseEvent.MOUSE_OVER,go);
    
    function go(evt:MouseEvent):void
    {
    	// codice da eseguire
    }
    e otterrei questo risultato:










    andando sulla clip col mouse, notiamo che fino a quando non siamo sul campo di testo il mouse mostra la manina ma e andiamo sul campo la manina scompare.
    Questa cosa non è affatto bella.
    Per sviare a questo problema, entra in gioco la proprietà mouseChildren in questo modo:
    Code:
    clip_mc.buttonMode=true;
    clip_mc.mouseChildren=false;
    clip_mc.addEventListener(MouseEvent.MOUSE_OVER,go);
    
    function go(evt:MouseEvent):void
    {
    	// codice da eseguire
    }
    ed otteniamo il giusto risultato:










    Alla prossima !

  2. #2
    Member Flash Addict Kerotan is on a distinguished road
    Join Date
    Jan 1970
    Posts
    80
    Rep Power
    44

    Riferimento: Trucco del giorno - MovieClip.mouseChildren

    ciao, grazie per la spiegazione, però se io prendo il tu codice e lo provo, senza il comando
    clip_mc.mouseChildren=false;
    non mi da l errore che si vede nel tuo esempio...sai dirmi il motivo?

  3. #3
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,762
    Rep Power
    11

    Re: Trucco del giorno - MovieClip.mouseChildren

    Hai un campo di testo dinamico o statico all'interno della movieclip ?

  4. #4
    Junior Member Settled In teodica is on a distinguished road
    Join Date
    Apr 2011
    Posts
    1
    Rep Power
    0

    Re: Trucco del giorno - MovieClip.mouseChildren

    Ciao,
    questo è il mio primo post su questo sito, sto facendo esperienza con actionscript 3.0, vorrei sapere se questo stratagemma può essere usato solo con il un campo di testo dentro il movieclip oppure anche con un altro movie clip annidato, per esempio...
    grazie :D

+ Reply to Thread

Similar Threads

  1. mouseEnabled di Flash CS3 - trucco del giorno
    By Flep in forum Articoli e tutorials
    Replies: 3
    Last Post: 05-04-11, 15:47
  2. this.root - trucco del giorno
    By Flep in forum Articoli e tutorials
    Replies: 9
    Last Post: 12-06-10, 09:32
  3. Trucco del giorno - istanza fantasma
    By Flep in forum Articoli e tutorials
    Replies: 1
    Last Post: 16-04-09, 08:24
  4. Trucco del giorno - MovieClip.dropTarget
    By Flep in forum Articoli e tutorials
    Replies: 4
    Last Post: 04-03-09, 12:54
  5. Trucco del giorno - DisplayObjectContainer.removeChildAt
    By Flep in forum Articoli e tutorials
    Replies: 1
    Last Post: 08-06-08, 16:43

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts