하는 메인 클래스에서 addFrameScript
를 사용해보십시오 : 당신이 가진 클래스를 연결하지 않은 경우 당신이 당신의 라이브러리에서 MovieClip
를 컴파일 할 때마다
asset.addFrameScript(asset.totalFrames-1, function():void { attack = 0; });
, 어떻게 addFrameScript()
작품에 약간의 부연, 컴파일러는 하나를 생성 당신 뒤에서 당신을 위해. addFrameScript()
은 MovieClips 타임 라인과 연관된 스크립트 간의 문서화되지 않은 연결입니다. MovieClip
에서 addFrameScript()
을 실행하면 매개 변수 (frameNumber - 1, functionToCall)
으로 설정됩니다. MovieClip 타임 라인은 프레임 1에서 시작하지만 실제로는 참조 할 때 프레임 0으로 읽습니다 (저장소 컨테이너가 인덱스 0에서 시작하는 방식과 비슷 함).
필자는 익명의 함수를 전달했다. addFrameScript()
에 function 매개 변수에 대한 함수를 만들었습니다.이 함수는 지정된 프레임에 도달하면 변수 공격을 0으로 설정합니다. 물론 그렇게 할 필요는 없습니다.
function setAttackToZero():void {
attack = 0;
}
당신은 그냥 쉽게 addFrameScript 매개 변수로 그것을 전달할 수 있습니다 : 당신이 기능을 가지고 말
asset.addFrameScript(asset.totalFrames-1, setAttackToZero);
고맙습니다. 어떻게 작동하는지 설명해 주시겠습니까? 오류가 발생합니다. '1120 : 자산 자산 및 프레임 번호가 정의되지 않은 상태로 액세스합니다.' –
예 애니메이션 타임 라인이있는 표시 객체의 이름 인 경우 asset을 대체해야합니다. 프레임 번호를 자산의 마지막 프레임 번호로 바꾸십시오 (1을 뺀 값). 나는 정보가 주어 졌다고 생각 했으므로 좀 더 구체적으로 대답의 frameNumber 부분을 업데이트 할 것이다. –
어떻게 작동하는지 설명해 주시겠습니까? 자산의 currentFrame! = totalFrames이 경우 공격 = 0 또는 어떻게 작동합니까? –