2014-10-16 2 views
0

안녕하세요, 간단한 무언가 간단하고 나 도움이 필요해!루프 AS3에 반복 추가하기

function highlight(textField:TextField):void 
    { 
     var l:int = textField.text.length 

      for(var i:int = 0; i < l; i++) 
       if (!highlightChar(textField, i)) 
        l++; 

    } 

하이라이트 효과를 위해 문자 뒤에 상자를 추가하기 위해 문자열을 반복합니다. 문자 중 일부는 실패합니다 (경계 상자는 null이고 반환 값이 있다고 가정합니다). 예제에서는 찾고있는 값이 5 회이며 false는 5 문자입니다. 다른 5자를 계속 사용하지 못하면 다른 반복을 추가하려고 시도하지만이 루프는 중단되지 않습니다.

다른 방법이 있습니까?

+1

하는 최종 목표입니다 "실패하면 또 다른 반복을 추가가 ..."또는 무엇인지 그 이 코드에서 여기까지 했습니까? 무한 루프가있는 이유는 반복을 성공적으로 추가하고 반복을 더 이상 추가하지 않기 때문입니다. – Houseman

+0

예. 그것이 목표입니다. 실패 할 때 몇 가지 추가. 내가 잘못된 방향으로가는거야? – user5839

+1

'l ++'을 실행하여 실패 할 때 성공적으로 더 추가하고 있습니다. 그러나 이것은 루프가 끝나기 전에'i'가'l'보다 커야하기 때문에 무한 루프를 제공합니다. – Houseman

답변

0

해키 솔루션 - (가) 실패 횟수 수집하고 고정했다 완료 첫 번째 후 또 다른 루프를하고 그것을

 if(fails > 0) 
      for(var f:int = i; f < fails + i; f++){ 
       var box:Shape = highlightChar(textField, f); 
       if(box) boxes.addChild(box) 
      }