2013-03-21 4 views
1

이 질문은 내가 전에 물어 본 질문에 대한 최신 버전이지만 답변을받지 못했습니다.AS3 - 동영상 클립을 루핑하여 비트 맵 데이터로 래스터 화 - 프레임이 준비되었는지 확인하는 방법?

많은 애니메이션이있는 모바일 AIR 응용 프로그램을 개발 중이며 비트 맵 및 GPU 렌더링을 사용하면 모든 모바일 모델에서 최상의 성능을 제공한다는 테스트 결과가 있습니다. 앱의 아티스트로부터 정상적인 벡터 애니메이션을 받고, 런타임에 애니메이션을 반복하는 시스템을 구축하고 내용을 bitmapdatas로 그립니다.

내 영화는 영화 클립을 통해 반복됩니다. 내가 코드 줄이있는 경우 :

for (var i:uint=1; i<mc.totalFrames+1; i++) { 
    mc.gotoAndStop(i); 
    bitmapData.draw(mc); 
} 

내가 프레임이 그려지기 전에 "구성"및 안드로이드 태블릿 내 시험이 권리를 증명있어 확신 할 수 없다 - 때로는 프레임이 그려지지 .

이 mc는 분명히 표시 목록에서 벗어났습니다 (화면에 렌더링 할 필요가 없습니다). 그렇다면 프레임이 비트 맵 데이터로 그려지기 전에 프레임이 빌드되었는지 확인하는 방법이 있습니까? (그리고 FRAME_CONSTRUCTED, EXIT_FRAME 등을 기다리는 것은 분명히 느리고 불필요합니다)

아이디어가 있습니까? 고맙습니다 자르

대한 추가 정보는 명확히 :

이 아이들의 책이다. 각 페이지에는 애니메이션이 있습니다. 이러한 모든 애니메이션은 사용자가 아닌 개발자가 아닌 FLA에서 타임 라인의 벡터 애니메이션입니다. 모든 페이지에는 swf에 게시하는 FLA가 있습니다.

내가 실제로하는 일은로드 된 SWF의 벡터 애니메이션을 비트 맵 버전으로 대체하는 것입니다. 앱 런타임에서 각 새 페이지가 나올 때마다 swf를로드하고 그 안에있는 모든 애니메이션 (내용의 하위를 반복 함) 및 각 무비 클립을 비트 맵 배열로 래스터 화합니다. 내 사용자 지정 "Bitmap Movieclip"은 각 영화 클립에 대한 복제 비트 맵을 표시 목록에 배치하고 ENTER_FRAME에서는 비트 맵의 ​​비트 맵 데이터를 배열에서 전환합니다. 이것은 매우 높은 성능을 제공합니다

답변

0

나는 스플래시 화면을 사용하고 MC를 비트 맵으로 변환하여 먼저 배치 한 다음 bitmapData에 그려 넣으십시오. 몇 가지 문제로 인해 실제 Drawing 전에 DisplayObject를 스테이지로 끌어 와야 했으므로 빠른 수정이 될 수 있습니다.

var splashBD:BitmapData=new BitmapData(stage.stageWidth,stage.stageHeight,false,0xffffff); 
var splashBM:Bitmap=new Bitmap(splashBD); // draw a thing as needed here 
addChild(splashBM); 
addChildAt(MC_to_convert,getChildIndex(splashBM)); 
// then advance it by frames and draw. 
0

죄송 MY BAD

FRAME_CONSTRUCTED에 대한 답을한다 대기