Creator+Fgui项目中的GTextInput的限制输入特殊符号

Creator+Fgui项目中的GTextInput的限制输入特殊符号

前言:在接入fgui的creator项目中,有一个需求是需要输入时特殊符号不能输入,于是我尝试以及百度了一下,没有成功,于是我只能自己摸索,终于歪打正着找到了一种实现方式:

this.inputNickName = this.contentPane.getChild("inputNickName").asTextInput;
this.inputNickName.node.on(fgui.Event.TEXT_CHANGE, this.onInput, this) # 监听input更改状态

# NameVerification就是验证后返回的字符串string的方法
private onInput() {
    let nickname = GameUtil.NameVerification(this.inputNickName.text);
    if (nickname != this.inputNickName.text) {
        this.inputNickName.editable = false		# 如果有更改,就设置为可读不可改,input中的光标会消失
    }
    this.inputNickName.text = nickname			# 将最新的值赋给GTextInput
    this.inputNickName.editable = true			# 设置可写状态
    this.inputNickName.requestFocus()			# 将光标又显示到input输入框中
}

之所以这样操作,是因为输入的时候,其显示的值并不是其.text的值,所以特殊符号还是能够输入进去并显示,也就是不能满足输入时特殊符号不能够输入,在其失去选中的情况,它的值又会变成.text的值。所以综上所述才会使用上面这种情况,可以满足需求的方式。

总结:日暮乡关何处是,烟波江上使人愁。《黄鹤楼》【唐】崔颢

你可能感兴趣的:(Fgui,fairyGui,creator)