2011-11-22 21 views
1

我有一個在AS3中編寫的Android Air項目,當項目啓動時,我正在加載音樂並加載要解析的XML文件。在第一幀中,我調用我的類來解析XML,並將節點設置爲字符串,並播放音頻,這兩個工作都正常。同樣在我的第一幀中,我聲明瞭一些文本字段來輸入XML文件中的數據,以便當用戶輸入第3幀時用戶能夠從XML文件中看到這些數據。這也很好。我遇到的問題是在第4幀和第3幀之間進行,textfields中的數據消失了?我跟蹤持有數據的XML類中的字符串,並且每次都出現這些值,但是從第3幀到第4幀並返回第3幀擦除文本字段顯示?任何人都可以將我指向正確的方向嗎? 感謝 科學AS3在幀之間顯示數據

確定這裏是從框架中的一個部分代碼中,我聲明文本框

var name1TextField:TextField = new TextField(); 
    var name2TextField:TextField = new TextField(); 

    var format:TextFormat = new TextFormat(); 
    format.font = "_sans"; 
    format.color = 0xF8FBF8; 
    format.size = 36; 

    //set the names format to the textfields 
    name1TextField.defaultTextFormat = format; 
    name2TextField.defaultTextFormat = format; 

    highScore1.addChild(name1TextField); 
    highScore2.addChild(name2TextField); 

這裏是代碼調用XML解析類和文本設置爲節點

var network:networkScores = new networkScores(); 
    addChild(network); 

    var timer4:Timer = new Timer(600); 
    timer4.addEventListener(TimerEvent.TIMER, scoresDis); 
    timer4.start(); 

    function scoresDis(e:TimerEvent):void 
    { 
     name1TextField.text = network.name1; 
     name2TextField.text = network.name2; 
     //trace(name1TextField.text); 
     //trace(name2TextField.text); 

     name1TextField.width = 230; 
     name2TextField.width = 230; 
     timer4.stop(); 

    } 

以前我曾經說過,我從第一幀調用音頻類和xml類,聲明文本字段並從那裏繼續。現在我已經決定,由於這個XML文件是一個分數列表,並且編碼總是在變化,所以我認爲每次輸入框架3時加載和解析這個文件都是很好的。同樣的事情還在發生,我有我的分數顯示然後當我轉到第4幀並回到第3幀時,分數不會顯示,但是當我追蹤班級中的數據時,它會正確顯示。 謝謝 科學

+0

你可以提供關於textfields的更多細節嗎?他們是經典的textFields,TLFTextfields?動態(我認爲顯然,但你永遠不知道)等等等 – 2011-11-22 06:12:28

+0

另外,你可以發佈代碼填充第3幀的文本域?需要看到一些代碼,因爲這肯定會成爲問題。 – 2011-11-22 06:13:38

回答

0

我以前見過這個問題發生之前與嵌入不正確的字體或東西,我不記得確切。測試這種方法的一種快速方法是追蹤字段的.text屬性。這樣,當文本不可見時,如果字段的.text屬性仍然填充,那麼你知道你有一個呈現問題。

做這個快速測試併發布結果,我會根據結果更新我的答案並提供更多信息。

+0

你好!感謝您花時間提供幫助。我追蹤textfield.text,當我試圖回到框架時顯示。有趣的是你說的是「嵌入式字體」,因爲我不確定我在早些時候嘗試過時是否正確做到了這一點。 – AgnosticDev

+0

我剛剛刪除了我的嵌入字體,並再次嘗試使用相同的結果 – AgnosticDev