Frage

Grüße!

Ich arbeite an einer AS2-Website mit Movieclips für Seiten, die Tiefe tauschen, wenn die Navigation angeklickt wird. Textinhalt dynamisch aus einer externen XML-Datei gezogen und per CSS gestylt, mit Links (HTML / CDATA). Mein Problem ist folgendes:

Wenn eine Seite hintereinander über swapDepths() versteckt ist, HTML-Links innerhalb der versteckten Seite sind noch anklickbare mit den Hand-Cursor. Ich habe versucht, mc.enabled = false auf der übergeordneten Clips Inhalt, aber es hat keinen Einfluss auf die dynamische Textzeichenfolge. Wer weiß, wie CDATA Links mit Actionscript 2 deaktivieren?

Die gleiche Frage gilt für MovieClip- Kinder im Allgemeinen: wie kann man deaktivieren Videoclips innerhalb eines übergeordneten Clips in AS2 ohne Instanznamen harte Kodierung

Vielen Dank im Voraus für alle Anregungen!

Hier ist der Code, wo ich meine Seite Swapping steuern:

// 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'});
      }
}
War es hilfreich?

Lösung

Ich würde raten zwei Ansätze, um Ihr Problem:

1) Bewegen Sie den Movieclip, die außerhalb Ihrer Bühne zu einer Off-Screen-Position (d Satz _x und _y etwas versteckt)

2) mit einem Blocker MovieClip- oder Taste oben auf dem verborgenen mc befestigen, damit es sie grundsätzlich von einer Mausereignis halten. Wenn es wieder unhidden wird, entfernen Sie den Blocker MovieClip- oder Taste.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top