2014-01-29 69 views
0

我們爲舞臺添加了一個StageText對象。Adob​​e Air 4.0 Mobile As3 - StageText限制

myTextFieldName = new StageText(); 
myTextFieldName.editable = true; 
myTextFieldName.autoCorrect = false; 
myTextFieldName.stage = this.stage; 
myTextFieldName.maxChars = 15; 
myTextFieldName.fontSize = 35*SWF_HALF_WIDTH*2/620; 
myTextFieldName.viewPort = new Rectangle(SWF_HALF_WIDTH-_nameIpSprite.width/2+255*SWF_HALF_WIDTH*2/620, _nameIpSprite.y+21*SWF_HALF_WIDTH*2/620,222*SWF_HALF_WIDTH*2/620,40*SWF_HALF_WIDTH*2/620); 
myTextFieldName.text = ""; 
myTextFieldName.restrict = "0-9a-zA-Z"; 
myTextFieldName.returnKeyLabel = ReturnKeyLabel.GO; 

,我們定義它,但最大的問題是,它插入,如果你進入一個新的字母已經被鍵入的字符的文本被限制:直到我們添加限制 一切工作正常。

所以我輸入「f」,然後輸入「m」。它會自動添加一個附加的f,所以結果是「ffm」而不是「fm」。

我們也嘗試添加一個變化事件監聽:

myTextFieldName.addEventListener(Event.CHANGE, textFieldChangeEventHandler); 

private function textFieldChangeEventHandler(event:Event):void 
{ 
    trace(event.target.text); 
    //Manage text 
} 

如果我們使用遊標總是跑到字符串的開頭和每一個新的信在添加了開始,而不是結束...

有沒有什麼經驗?

最佳

回答

0

從你說的話,我認爲這是一個錯誤,我還發現,在涉及到RTL文字階段的文字中的錯誤並報告here, 我建議報告這個bug,並使用代碼來限制用戶輸入作爲解決方法。