2015-01-13 4 views
2

일부 수입 내가 사용 : 나는 변형 행렬 가지고 하여 BitmapData.draw 찌르레기 무비 클립은

var bm_data:BitmapData = new BitmapData(rec.width, rec.height, false, 0); //rec is a rectangle 

: 여기

var sprite_1_M:Matrix = sprite_1.transformationMatrix; //these are objs that extends starling.display.Sprite 
var sprite_2_M:Matrix = sprite_2.transformationMatrix; 

그리고이입니다

import flash.display.BitmapData; 
import flash.geom.Matrix; 
import flash.geom.Rectangle; 
import flash.geom.ColorTransform; 
import starling.display.Sprite; 
import starling.display.MovieClip; 

여기에서는 BitmapData이 문제 :

bm_data.draw(sprite_1.movie_clip, sprite_1_M, new ColorTransform(1,1,1,1,255,-255,-255), BlendMode.ADD); 
bm_data.draw(sprite_2.movie_clip, sprite_2_M, new ColorTransform(1,1,1,1,-255,255,-255), BlendMode.ADD); 

오류 :

Implicit coercion of a value of type MovieClip to an unrelated type IBitmapDrawable

어떤 힌트를 어떻게해야합니까? 생각해 보면 플래시 무비 클립이 작동 할 것입니다 ...

답변

3

플래시의 BitmapData.draw()에는 Starling 표시 객체를 사용할 수 없습니다. 완전히 별개의 것으로 렌더링에는 매우 다른 기술을 사용합니다.

그러나메서드를 사용하면 Starling Stage의 내용을 Flash BitmapData 객체로 가져올 수 있습니다.

비슷한 결과를 얻으려면 starling.display.Sprite.flatten()을 사용하고 별표 표시 트리 내에서 결과 그래픽을 배치 할 수 있습니다 (플래시 디스플레이 트리는 별개로 표시 할 수 없음을 의미합니다. .

관련 문제