수정 사항이 간단하고 비용이 거의 들지 않으므로 문제가되지 않습니다. 나는 액션 스크립트 3 사용uint가 for 루프를 중단시키는 이유는 무엇입니까?
... 그것이 내가 이해하지 못하는 내가 너무에 무슨 일이 일어나고 있는지 알고 싶습니다 for
또는 uint
일부 숙박 시설의 추측하고있어 나는를 뒤로 실행하는 for
루프를 설정 Vector
의 요소
var limit:uint = myVector.length-1;
for(var a:uint = limit; a >= 0; a--)
{
trace(a);
}
가 나는 예상대로
2, 1, 0
출력이 실행하지만
4294967295
로 이동 밖으로 루프 시간까지 거기에서 카운팅을 시작하고
Error #1502
을 발생합니다.
해결 방법은 uint
대신 a
을 int
으로 입력하는 것입니다. 이유는 알 수 없습니다. 확실하게 0 이상의 값을 다루므로 uint
이 올바른 데이터 유형입니까?
4294967295
은 uint
의 최대 값이지만 내 계산은 어떻게됩니까?
그리고 출력이 -1
이 왜 내 루프에서 갑자기 4294967295
에 백업 할 전망 당신이
var myUint:uint = 0;
trace(myUint - 1);
을한다면?
도움이 필요하신 경우 약간의 질문과 성원에 대해 사과드립니다.
맞아요.'myUint-1'은 실제로'int'로 타입 지정됩니다. 이것은 실제로 당신이 그것을 언급 할 때 실제로 완벽하게 이해됩니다. 출력은 특정 유형의 데이터를 사용한 계산의 결과이지만 해당 유형은 출력의 유형과 관련이 없습니다. – popClingwrap
내 생각을 확인하기 위해 다시와 주셔서 감사합니다. 루프에 가능한 해결책을 제공하기 위해 내 대답을 업데이트했습니다. –