actionscript : 반복 작업을 여러 번
원하는 작업을 수행할 수있는 하나의 프레임을 여러 번 이내입니다. 을 사용하는 루프를 여러 번 이내에 동일한 작업을 수행하려면 하나의 프레임을합니다. 예를 들어,에 대한 보호 정책을 사용할 수있습니다 : 에 대한 (변수 나는 = 0; 나는 <10; 저는 + +) (/ / 디스플레이의 값은 1 추적 (1);) 이 같은 작업을 실행하려는 경우 (또는 약간의 변형된 형태)를 여러 번 이내에 하나의 프레임을 사용하는 루핑 명세서를 작성하려면 코드를 더욱 간결, 쉽게 읽을, 그리고 쉽게 업데이 트됩니다. 잠시 사용하실 수있습니다 성명이나에 대한 보호 정책이 목적을 위해, 그러나 일반적으로에 대한 보호 정책은보다 나은 선택을합니다. 두 문장이 동일한 결과를 달성하고 있지만에 대한 진술이 좀 더 단순하고 더 익숙한로 대부분의 프로그래머. 의 구문에 대한 진술은 5 개의 기본적인 부품 : 에 대한 키워드 매에 대한 보호 정책에 대한 키워드로 시작해야합니다. 초기화를 표현 루프 일반적으로 직원을 고용하는 인덱스 변수 (a.k.a.하는 루프 카운터)이 초기화가 명세서가 첫 번째가 발생합니다. 초기화가 수행되는 횟수와 상관없이 한 번만 루프가 반복됩니다. 테스트를 표현 루프를 포함시켜야합니다 참 또는 거짓을 반환하는 테스트를 표현합니다. 표현이 평 때마다 테스트를 통해 한 번 루프합니다. 일반적으로 테스트를 표현 비교가 색인 변수를 다른 값과 같은 최대 개수의 루프를 반복합니다. 에 대한 전체적인 표현이 사실에 대한 평가해야합니다에 대한 진술의 신체를 실행 (명암이가 필요합니다...하면서 루프를 실행 적어도 한 번, 심지어 경우에 테스트를 표현은 거짓)입니다. 반면 테스트를 표현이 결코 될 경우에 허위, 귀하를 만들 무한 루프, 이로 인한있다는 경고가 플래시 플레이어가 실행되고 천천히 (이 나타납니다 뒤 15 초)입니다. 업데이 트를 표현 이 업데이 트 표현이 일반적으로 업데이 트에 사용되는 변수의 값은 테스트를 표현 있도록, 이때의 테스트 표현된다 거짓과 루프를 종료합니다. 이 업데이 트를 통해 표현이가 실행될 때마다 한 번 루프합니다. 무한 루프는 종종로 인한 실패를 업데이 트하려면 적절한 변수의 업데이 트를 표현 (대개는 같은 변수가 사용되는 테스트 식). 성명 본문 이 성명서 본문은 블록의 명령문 묶여 중괄호가 실행될 때마다 루프를 통해합니다. 경우에 시험 표현은 결코 진정한를위한 진술의 신체가되지 않음을 실행합니다. 에 대한 키워드를해야한다 오기를 먼저하고 다음에해야한다 초기화, 테스트 및 업데이트 식을 괄호로 묶여있습니다. 세미콜론해야 하나에서 별도의 3 식을 또 다른 (물론 초기화, 테스트 및 업데이트 문장은 옵션을 세미콜론은 필수). 의 나머지를위한 루프가 작곡한의 성명을 몸에 묶여 중괄호. 일반적인 형태는 : 에 대한 (초기화; 테스트; 업데이트) (성명 바디) 다음은의 한 예입니다에 대한 진술이 출력의 숫자 0에서 999 사이입니다. 이 색인에 변수가 있기 때문에 나는이 로컬 변수, 우리 서문이있는 변수 키워드의 초기화를 표현합니다. 에 대한 (변수 나는 = 0; 나는 <1000; 저는 + +) (추적 (1);) 추적 ( "그건의 마지막입니다.") ; 에 대한 보호 정책을 이해하고, 다음과 함께 할 수있습니다 actionscript 통역사의 명령대로 처리합니다. 앞의 들어, '에 대한 키워드를 알려줍니다 통역사를 수행하는 문장 내에서가에 대한 루프를 한 조건부 표현이 사실입니다. 초기화 표현은 처형 번만, 그리고 그것을 설정합니다 변수가 나는가 0입니다. 다음으로 통역 수표의 테스트 표현 (나는 <1000)입니다. 때문에 나는이 0, 이는 미만 1000,이라는 표현으로 평가 사실과 추적 () 액션 내에서가에 대한 진술 본문이 실행됩니다. 가 actionscript 통역 그런 다음 업데이 트를 실행합니다 명세서,이 경우에 나는 + +, 어떤 증 제 1 씩입니다. 통역사 다음을 반복하는 과정에서 상단의 루프 (하지만 건너 뛴다는 초기화 단계). 그래서 통역을 다시 테스트를 표현이 사실이 있는지 여부를 검사하고, 그렇다면 문을 본문을 다시 실행합니다. 그런 다음 업데이 트를 진술을 다시 실행합니다. 때까지이 과정을 반복 테스트를 표현은 더 이상 사실입니다. 의 마지막 값이 출력 창에 표시는 999을하기 때문에 한 번 내가 증가 1000,의 테스트 표현이 더 이상으로 평가 사실과 루프를 제공하는 최종입니다. 일단 루프를 종료, 실행을 계속 어떤 명령을 다음과 루프합니다. 모두의 초기화 및 업데이 트를 표현 여러 개의 작업을 쉼표로 구분하여 포함시킬 수있습니다. 다음 예제를 동시에 증 제를 줄인日, 그리고 그들의 값을 출력 창에 표시합니다 : 에 대한 (변수 나는 = 0,日= 10; 나는 <10; 저는 + +,日-) (추적 ( "나는이"+ 내); 추적 ( "日은"+日);) 앞의 예제가 아니라는 동일합니다에 대한 진술을 사용하여 두 개의 중첩된 (이 그림에 대한 다음 코드 블록)입니다. 그것은 또한 중첩에 대한 일반적인 진술을 사용합니다. 중첩에 대한 보호 정책을 사용하는 경우, 사용이 다른 인덱스 변수에 사용되는 것보다 바깥에 대한 루프합니다. 에 의해 협약을 바깥에 대한 루프를 사용하여 변수가 있습니까과 중첩에 대한 루프를 사용하여 변수가 j. 예를 들어 : 에 대한 (변수 나는 = 1; 나는 <= 3; 저는 + +) (에 대한 (변수日= 1;日<= 2;日+ +) (추적 (1 + "x"+日+ "="+ (1 *日));)) 앞의 예 다중화 테이블에 다음과 같은 표시가 출력 창 : 1 x 1 = 1월 1일 x 2 = 2 2 회 1 = 2 2 회 2 = 4월 3일 x 1 = 3월 3일 x 2 = 6 그것이가능한가 둥지를 여러 수준의에 대한 진술을합니다. 에 의해 협약, 각 부 수준의 중첩 사용은 다음 알파벳 문자로 색인 변수입니다. 따라서, 제 3 수준의 중첩에 대한 진술을 일반적으로 사용하는 k로 색인 변수 : 에 대한 (변수 나는 = 1; 나는 <= 3; 저는 + +) (에 대한 (변수日= 1;日<= 3;日+ +) (에 대한 (변수 k = 1; k <= 3; 만 이상 +) (추적 (1 + "x"+日+ "x"+ 만 이상 "="+ (1 *日* k));))) 또한, 사용하실 수있습니다에 대한 진술을 루프를 뒤로 : / / 카운트 뒤로 10에서 1 사이입니다. 에 대한 (변수 나는 = 10; 저는> 0; 저는 -) (추적 (1);) 에 대한 보호 정책을 사용해서는 안됩니다 시간이 지남에 작업을 수행할 수있습니다. 많은 프로그래머의 실수를 사용하려고합니다에 대한 진술을 애니메이션 동영상 클립을합니다. 예를 들어 : 에 대한 (변수 나는 = 0; 나는 <20; 저는 + +) (mymovieclip._x + = 10;) 비록 위의 코드 변동 사항이 영화 클립 200 픽셀를 오른쪽의 시작 지점, 모두가 동일한 프레임 내에 업데이 트됩니다. 두가 지 문제점이있습니다. 우선 무대에서 업데이 트를 한번만 프레임 당하므로 전용의 마지막 업데이트가 무대에 표시 (원인을 동영상 클립로 이동 200 픽셀이 갑자기보다는 이동이 원활하게에서 20 단계). 그리고 두 번째로,해도 무대에서 업데이 트를 더 자주, 각 iteration을 통해 루프 걸리는 시간은 불과 몇 밀리초, 그래서 애니메이션 것이며 너무 빨리합니다. 에 대한 조치를 취할 자리를 통해 원하는 시간, 사용하는 onenterframe () 처리기입니다. 더욱이 긴밀한 반복 루프가 긴 프로세스를 수행하는 데 사용해서는 안된다 (아무것도가 소요 이상이 분수의 두 번째). 플래시 플레이어 때마다 경고를 표시 단일 루프를 실행에 대한보다 15 초. 사용하는 onenterframe () 핸들러를 setinterval () 함수를 피한다이 경고 메시지를 사용하면 플래시를 수행하려면 이외에 다른 작업을 반복 작업을하는 부분을 반복합니다. 이것은 문서가 추가 브리엘 savimbi
|
|||
|