2014-01-29 65 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,并使用代码来限制用户输入作为解决方法。