2009-06-17 5 views
0

Greetings!AS2:非表示のダイナミックテキストフィールドとムービークリップの子どもたちのリンクを無効にする

私は、ナビゲーションをクリックすると深さを交換するページのMovieClipsを使用してAS2 Webサイトで作業しています。テキストコンテンツは、リンク(HTML/CDATA)を含むCSSを介して外部XMLファイル&から動的に取り込まれます。

ページがswapDepths()経由で他のページの後ろに隠れている場合、隠しページ内のHTMLリンクは、ハンドカーソルでクリック可能なままです。コンテンツの親クリップでmc.enabled = falseを試しましたが、動的テキスト文字列には何の影響もありません。誰かがActionscript 2でCDATAリンクを無効にする方法を知っていますか?

一般的なMovieClipの子供にも同じ質問があります:AS2の親クリップ内のmovieClipsを、ハードコーディングインスタンス名なしで無効にするにはどうすればよいですか?

ご協力いただきありがとうございます。ここで

は、私は私のページのスワッピングを制御するコードです:

// 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'}); 
     } 
} 

答えて

0

私はあなたの問題への2つのアプローチをアドバイスします:

1)オフスクリーンの位置(すなわちセットに隠されている、あなたのムービークリップを移動します_xと_yをあなたのステージの外のものに)

2)隠れたmcの上にブロッカーのムービークリップまたはボタンを付けて、マウスイベントを受信しないようにします。再度表示されなくなったら、ブロッカーのムービークリップまたはボタンを取り外します。

+0

以下のオブジェクトを移動すると動作します。私は前にそれをしていましたが、別の解決策を見つけることを望みました。それは確かにそれを行う方法です!ありがとう! –

関連する問題