2011-04-05 69 views
0

我將xml數據動態添加到三個文本字段中購買循環,然後將text_info動畫片段添加到scroll_box影片剪輯,然後將scroll_box添加到_myCanvas動畫片段。我想掩蓋數據,但我沒有得到結果,但我應該。使用動作腳本3來屏蔽動畫片段中的文本

_myCanvas = getChildByName("myCanvas") as MovieClip; 
      _myCanvas.height = 369.10; 
      _myCanvas.width = 596.15; 
      _myCanvas.x = 114; 
      _myCanvas.y = 259.05; 

    var MyClass:Class = ApplicationDomain.currentDomain.getDefinition("MyScrollElement") as Class; 
    _myScrollElement = new MyClass(); 
    var scroll_box = _myCanvas.addChild(_myScrollElement); 


     for (i = 0; i < myXML.Row.length(); i++){ 


      var item:text_holder = new text_holder(); 

      scroll_box.addChild(item); 
      var _data = myXML.Row[i]; 

//add xml data to text fields 
         move each textbox to 
      current_y_right = current_y_right + 131; 
      item.x = current_x_right; 
      item.y = current_y_right; 
        } 
      var myMask = getChildByName("myMask") as MovieClip; 
      myMask.height = 369.10; 
      myMask.width = 596.15; 
      myMask.x = 114; 
      myMask.y = 259.05; 

      _myCanvas.mask = myMask; 

但是,正在顯示的文本仍然顯示在遮罩區域之外。任何幫助都會很棒。

回答

1

好吧 - 我不清楚你是如何將項目添加到舞臺上(在時間軸上?) - 如果您的實例名稱在IDE中設置,則不需要重新分配實例名稱,只需用它。另外=確保你輸入了所有變量。有幾個不是,這可能是一個問題(閃光燈也許也在做假設)。

就面具而言,我只能假設這是舞臺上的一個物體。確保選擇了「嵌入字體」。這也可能是掩模未處於正確深度的問題(您新創建的對象基本上位於掩碼之上)。我可能會建議在運行時創建一個新的Sprite,並以這種方式進行屏蔽。

沒有看這個項目,很難說,超越了這個。

_myCanvas.height = 369.10; 
    _myCanvas.width = 596.15; 
    _myCanvas.x = 114; 
    _myCanvas.y = 259.05; 

var MyClass:Class = ApplicationDomain.currentDomain.getDefinition("MyScrollElement") as Class; 
var scroll_box:DisplayObject = new MyClass() as DisplayObject; 
_myCanvas.addChild(scroll_box); 

for (i = 0; i < myXML.Row.length(); i++){ 
    var item:text_holder = new text_holder(); 
    scroll_box.addChild(item); 

    var _data:String = myXML.Row[i]; 
    current_y_right = current_y_right + 131; 
    item.x = current_x_right; 
    item.y = current_y_right; 
} 

var myMask:Sprite = new Sprite(); 
myMask.graphics.beginFill(0x00ff00, 0); 
myMask.graphics.drawRect(114, 259.05, 369, 596); 
myMask.graphics.endFill(); 
addChild(myMask); 

_myCanvas.mask = myMask; 
+0

感謝您的建議。我將驗證z索引和嵌入字體並返回。 – Denoteone 2011-04-06 13:59:03

0

未嵌入字體的掩碼文本字段在閃存中存在問題。確保你嵌入了字體,或者儘可能使用TLFTextField。我不是100%確定,但我認爲這些問題已在TLFTextField中解決。所以再一次,嵌入字體== surefire的方式來解決,TLFTextField可能但未經證實的修復。

+0

如果您要動態創建textField,請確保將embedFonts屬性設置爲true。 – 2011-04-06 01:08:20