使用Flash识别文本框中的单个值
我想从用户输入中识别文本框中的特定字符串,以添加到分数变量中,如下所示- 如果userWords.text==firstWord{ 分数=分数+1; } 给出的示例将分数添加1,但如果用户添加空格,则文本框会将第二个单词视为一个整体,而不是单个单词,从而不会向分数变量添加任何值 问题在于整个文本框被视为一个完整的字符串。相反,我想将其拆分,以便word1将分数加1,word2将分数加1,以此类推使用Flash识别文本框中的单个值,flash,textbox,Flash,Textbox,我想从用户输入中识别文本框中的特定字符串,以添加到分数变量中,如下所示- 如果userWords.text==firstWord{ 分数=分数+1; } 给出的示例将分数添加1,但如果用户添加空格,则文本框会将第二个单词视为一个整体,而不是单个单词,从而不会向分数变量添加任何值 问题在于整个文本框被视为一个完整的字符串。相反,我想将其拆分,以便word1将分数加1,word2将分数加1,以此类推 我对这个问题感到非常困惑,所以感谢所有可能提供帮助的人。您可以使用StringHelper类的tri
我对这个问题感到非常困惑,所以感谢所有可能提供帮助的人。您可以使用StringHelper类的trim方法。这将删除指定字符串前后与char参数匹配的所有字符。您可以在AdobeLiveDocs的String类页面底部的示例中找到该类。该url的内容如下所示:
class StringHelper {
public function StringHelper() {
}
public function replace(str:String, oldSubStr:String, newSubStr:String):String {
return str.split(oldSubStr).join(newSubStr);
}
public function trim(str:String, char:String):String {
return trimBack(trimFront(str, char), char);
}
public function trimFront(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(0) == char) {
str = trimFront(str.substring(1), char);
}
return str;
}
public function trimBack(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(str.length - 1) == char) {
str = trimBack(str.substring(0, str.length - 1), char);
}
return str;
}
public function stringToCharacter(str:String):String {
if (str.length == 1) {
return str;
}
return str.slice(0, 1);
}
}
然后您可以按如下方式实现它:
var strHelper:StringHelper = new StringHelper();
if (strHelper.trim(userWords.text, " ") == firstWord) { score = score + 1; }
为了使生活更轻松,特别是当您使用时间线时,您只需从StringHelper类提取所需的方法并将其添加到代码中。通过这种方式,您可以调用函数,而无需实例化StringHelper类并从其实例调用它。以下是一个例子:
function trim(str:String, char:String):String {
return trimBack(trimFront(str, char), char);
}
function trimFront(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(0) == char) {
str = trimFront(str.substring(1), char);
}
return str;
}
function trimBack(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(str.length - 1) == char) {
str = trimBack(str.substring(0, str.length - 1), char);
}
return str;
}
function stringToCharacter(str:String):String {
if (str.length == 1) {
return str;
}
return str.slice(0, 1);
}
if (trim(userWords.text, " ") == firstWord) { score = score + 1; };