저는 Flash CS6와 AIR를 사용하여 모바일 게임을하고 있습니다. 또한 동일한 플랫폼에서 디자인 및 코딩 (starling 등을 사용하지 않음).Dispose()를 사용하여 MovieClip을 비트 맵으로 변환
무비 클립 (정적, 애니메이션이 아님)을 비트 맵으로 동적으로 변환하고 잘 동작합니다. 하지만이 과정을 통해 bitmapData가 메모리에 캐싱되고 많은 양의 메모리가 필요하다는 것을 깨닫게됩니다. 그런 다음 dispose()에 의해 bitmapData에 무대에 추가 된 후 결정합니다. 그러나 무대와 그 곳 어디에서나 제거됩니다.
내 코드;
var target:MovieClip = new Ex_mc2();
target.x=100;
target.y=300;
addChild(target);
var bounds:Rectangle = target.getBounds(this);
var bmpData:BitmapData = new BitmapData(Math.floor(bounds.width), Math.floor(bounds.height), true, 0);
var bmpMatrix:Matrix = target.transform.matrix;
bmpMatrix.translate(-bounds.x, -bounds.y); // Draw bitmap
bmpData.draw(target, bmpMatrix);
var bmp:Bitmap = new Bitmap(bmpData);
bmp.x=100;
bmp.y=300;
addChild(bmp);
removeChild(target);
//bmpData.dispose(); I want to use this and i dont want my bmp disappear
일주일 동안 솔루션을 검색했지만 알아낼 수 없습니다. 내 질문은;
movieClip을 비트 맵으로 변환하여 메모리를 확보 할 수 있습니까? 무대에 정적 PNG 파일을 추가하는 것과 같은가요?
고마워요, 그렇다면 바로 거기에 차이가 정적 PNG 또는 비트 맵 데이터를 사용하여 영화 클립을 변환하는 단계를 추가하는 것입니다? 그리고 메모리 사용량을 처리해야합니까? – mtilhan
수정. 두 경우 모두 이미지 데이터를 나타내는'BitmapData' 객체를 갖습니다. –
설명해 주셔서 감사합니다. 내 일주일을 낭비했습니다. – mtilhan