我们在舞台上添加了一个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"。
我们还尝试添加一个change eventlistener:
myTextFieldName.addEventListener(Event.CHANGE, textFieldChangeEventHandler);
private function textFieldChangeEventHandler(event:Event):void
{
trace(event.target.text);
//Manage text
}
如果我们使用它,则光标始终到达字符串的开头,并且每个新字母都在开头而不是结尾添加...
有这方面的经验吗?
最佳