Visualizzazione dei risultati da 1 a 3 su 3

Discussione: mouseChildren e this

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106

    mouseChildren e this

    Ciao a tutti spero che qualcuno possa rispondere alla mie domande;

    1 Qualcuno può spiegarmi a cosa serve mouseChildren e cosa faccio quando lo imposto su false??
    2Credo di nn aver compreso a pieno la differenza tra lo scirvere
    codice:
    this.gotoAndPlay("over")
    e
    codice:
    gotoAndPlay("over")
    questo in una funzione..
    come mai compila lo stesso...
    capisce comunque, che deve far riferimento a quel preciso oggetto???

    grazie mille per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    1. La proprietà mouseChildren determina se le istanze secondarie di un oggetto devono o non devono essere attive agli eventi del mouse.

    Supponi di avere un MovieClip con annidato al suo interno un altro MovieClip e al Clip 'contenitore' assegni un Listener al MOUSE_OVER e un Listener al MOUSE_OUT.
    Quando con il puntatore del mouse passi sopra il MovieClip 'contenitore', scatta l'evento mouse_over ma se ti sposti sopra il MC annidato al suo interno, anche se in pratica sei sempre sul MovieClip 'contenitore', potrebbe scattare il suo evento al mouse_out.

    Per questo può essere necessario disattivare gli eventi del mouse per le istanze secondarie impostando la proprietà mouseChildren su false.

    Puoi provare creando un MC con un MC annidato al suo interno e inserendo questo codice sul fotogramma:

    Codice PHP:
    clip.addEventListener(MouseEvent.MOUSE_OVERprovaOver);
    clip.addEventListener(MouseEvent.MOUSE_OUTprovaOut);
    //clip.mouseChildren = false;

    function provaOver(evento:MouseEvent):void
    {
        
    trace("over");
    }
    function 
    provaOut(evento:MouseEvent):void
    {
        
    trace("out");

    Noterai che passando con il puntatore del mouse sopra il clip annidato, scatta il mouse_out e un istante dopo ritorna a essere attivo il mouse_over perchè di fatto sei sempre sul MC che ha chiamato la funzione al mouse_over.
    Una questione di millesimi di secondo ma che potrebbe creare problemi di interferenze non volute.


    2. Il this come da traduzione letterale fa riferimento a 'questo', questa timeline, questo MC, questa classe.as ecc...
    Per cui se lo usi sulla timeline è superfluo e sottinteso che fai riferimento a 'questa' timeline e per questo scrivere:

    Codice PHP:
    this.gotoAndPlay("over"
    o scrivere:
    Codice PHP:
    gotoAndPlay("over"
    è praticamente la stessa cosa.

    Comunque la cosa più semplice per vedere a cosa fai riferimento con this è fare un trace:

    Codice PHP:
    trace(this); 
    Se lo scrivi su un fotogramma della timeline principale ottieni: [object MainTimeline].




    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    Grazie mille,sei stato chiarissimo!!

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.