Pregunta

¡Saludos!

Estoy trabajando en un sitio web de AS2 con MovieClips para páginas que intercambian profundidad cuando se hace clic en la navegación. El contenido del texto se extrae dinámicamente de un archivo XML externo & amp; Estilo vía CSS, incluyendo enlaces (HTML / CDATA). Mi problema es este:

Cuando una página está oculta detrás de otra a través de swapDepths () , los enlaces HTML dentro de la página oculta aún se pueden hacer clic con el cursor de la mano. He intentado mc.enabled = false en los clips principales de los contenidos, pero no tiene ningún efecto en la cadena de texto dinámico. ¿Alguien sabe cómo deshabilitar los enlaces CDATA con Actionscript 2?

La misma pregunta se aplica a los niños de MovieClip en general: ¿cómo se deshabilitan los clips de película en un clip principal en AS2 sin nombres de instancia de codificación rígida?

Gracias de antemano por cualquier sugerencia!

Aquí está el código donde controlo el intercambio de mi página:

// class code.Startup() :

      page_arr = new Array(); // references clips laid out in the IDE
      page_arr = [
            ['home', pages.homePage_mc],
            ['apartments', pages.apartmentsPage_mc],
            ['building', pages.buildingPage_mc],
            ['neighborhood', pages.neighborhoodPage_mc],
            ['press', pages.pressPage_mc],
            ['team', pages.teamPage_mc],
            ['retail', pages.retailPage_mc],
            ['office', pages.officePage_mc],
            ['contact', pages.contactPage_mc]
      ]

// class code.Navigation() :

private function showPage(num):Void {
        turnOffAllPages();

        if(siteFirstRun == true){ 
          prevPageObj = code.Startup.getInstance().page_arr[0][1]; 
                //defaults to homepage, already showing
          currPageObj = code.Startup.getInstance().page_arr[num][1]; 
                //sets currPageObj to whatever page was chosen with nav 
          siteFirstRun = false;
        }
        else {      
          if(currPageObj !== prevPageObj){
              prevPageObj = currPageObj;
          }
          currPageObj = code.Startup.getInstance().page_arr[num][1];
        }

      TweenLite.to(code.Startup.getInstance().page_arr[num][1], .25, {_alpha:100, ease:'easeOutQuad', delay:.25});

      if(prevPageObj !== undefined){
             currPageObj.swapDepths(code.Startup.getInstance().pages.getNextHighestDepth());
      }
      currPageObj.copy_mc.enabled = true;

      }

// Each page_arr clip contains a 'copy_mc' instance into which XML content is fed. These are what I need to target!

private function turnOffAllPages():Void{
      for(i=0; i<code.Startup.getInstance().numPages; i++){
        code.Startup.getInstance().page_arr[i][1].copy_mc.enabled = false; 
         // disable pages to avoid rolling over hidden links

         TweenLite.to(code.Startup.getInstance().page_arr[i][1], .2, {_alpha:0, ease:'easeOutQuad'});
      }
}
¿Fue útil?

Solución

Le recomendaría dos enfoques para su problema:

1) Mueve tu clip de video que está oculto a una posición fuera de la pantalla (es decir, establece _x y _y en algo fuera de tu escenario)

2) Coloque un movieclip o botón bloqueador en la parte superior del mc oculto para evitar que reciba eventos del mouse. Cuando se vuelva a ocultar, elimine el movieclip o el botón del bloqueador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top