該命令用於在Flash中選取一個文本字段,並根據文本字段中的單詞或空格將其剪切爲不同的組。該命令正在混合單詞的順序。 (在下面的代碼中,我拿出了將組分配到不同層的部分)。JSFL命令將文本字段拆分爲單詞 - 閃存陣列順序錯誤
如果我鍵入單詞「測試命令」,並運行該命令,它會反轉字符數並剪切文本字段從後面到前面。
例如,第一個單詞「TEST」有四個字母。錯誤在於它將從文本字段末尾的字符「命令」的「d」開始計數。
所以結果是切割「mand」時它應該切割「測試」,等等。如果你從後面到前面的數字,你可以看到分裂對應於正確的字母數,但它的反轉...
我的第一本能是試圖顛倒其中一個數組的順序。相反()。它雖然沒有工作。
我正在使用Flash CS 5.5,AS3。請幫忙!
這裏是我談論的PIC ...
var doc = fl.getDocumentDOM();
var mystring = doc.getTextString();
var numberOfWords = mystring.split(" ").length;
var wordArray = new Array();
for (var k = 0; k < numberOfWords; k++){
wordArray[k] = new Array();
}
cntrNew = i = j = 0;
for (var ctr = 0; ctr < mystring.length; ctr++){
if (mystring.charAt(ctr) == " "){
i++;
}
else{
wordArray[i].push(cntrNew);
cntrNew++;
}
}
doc.breakApart();
var selectionArray = new Array();
var tempArray = new Array();
var finalArray = new Array();
selectionArray = doc.selection;
doc.selectNone();
for (var i in wordArray){
for (var k = 0; k < wordArray[i].length; k++){
fl.trace(wordArray[i][k]);
//wordArray.reverse();
tempArray[k] = selectionArray[wordArray[i][k]];
}
fl.trace("break");
doc.selection = tempArray;
doc.group();
finalArray[i] = doc.selection;
doc.selectNone();
}
你只是試圖分裂的空間字符串? – Ronnie