我喜欢使用这个网站来获取有关代码的小技巧,并且我尝试自己解决所有错误。然而,这个让我难倒了好几天。我只是无法破解它。
RangeError:错误 #2006:提供的索引超出范围。在 flash.text::TextField/setTextFormat() 在 BibleProgram_fla::MainTimeline/checkAgainstBible() 在 BibleProgram_fla::MainTimeline/compileInputString() 在 BibleProgram_fla::MainTimeline/spaceBuild()
function spaceBuild(event:Event):void //This program runs every frame
{
compileInputString();
}
function compileInputString():void
{
inputVerse = inputText.text; // takes text from the input field
inputVerse = inputVerse.toLowerCase();
inputVerse = inputVerse.replace(rexWhiteSpace, ""); //Removes spaces and line breaks
inputVerse = inputVerse.replace(rexPunc, ""); // Removes punctuation
inputVerse = addSpaces(inputVerse); //adds spaces back in to match the BibleVerse
inputVerse = addCaps(inputVerse); //adds capitalization to match the BibleVerse
checkAgainstBible();
}
function checkAgainstBible()
{
outputText.text = inputVerse; // sets output text to be formatted to show which letters are wrong
for(var n:Number = 0; n < inputText.length; n++)
{
var specLetter:String = inputVerse.charAt(n);
if(specLetter != bibleVerse.charAt(n))
{
outputText.setTextFormat(red, n); // sets all of the wrong letters to red
}
}
}
每当我运行程序并键入一个比 BibleVerse 长的字符串时,它都会返回错误,但我不知道如何修复它。
我希望我提供了足够的信息来帮助我。如果您需要更多代码或其他内容,请询问!提前致谢!!