问题描述
我的目标是,如果我输入“points”,它会显示变量的内容,但如果我在它后面添加一个 int,它会改变变量的值
这就是我现在所拥有的:
func add_message(text):
chatLog.bbcode_text += '\n'
chatLog.bbcode_text += text
func text_entered(text):
if text == "points":
chatLog.bbcode_text = ''
add_message("Current value of [color=yellow]Points: [/color]" + str("[color=fuchsia]" + str(points) + "[/color]"))
inputField.text = ''
解决方法
您可以获取输入文本并使用 split
将其拆分为单词。然后一一拿下:
func text_entered(text):
var tokens = text.split(" ");
var count = tokens.size();
if count == 0:
# (empty input)
return; # or whatever
if count > 0 and tokens[0] == "points":
if count > 1 and tokens[1].is_valid_integer():
# points int
var integer = tokens[1].to_int();
points = points + integer; # or whatever
elif count > 1:
# points invalid_int
pass; # or whatever
else:
# points
pass; # or whatever
else:
pass; # not_points
在上面的代码中,我们使用 is_valid_integer
来验证当前单词是否为整数,如果是,我们可以使用 to_int
进行转换。