PNG 알파 채널로 FLV를 마스크하려고합니다. BitmapData (PNG에서)를 사용하고 있지만 작동하지 않습니다. 제가 빠진 것이 있습니까? 아래의 코드를 잘라 :PNG 알파 채널을 사용하여 AS3에서 FLV 비디오를 마스킹합니다.
var musclesLoader:Loader = new Loader();
var musclesContainer:Sprite = new Sprite();
var musclesImage:Bitmap = new Bitmap();
var musclesBitmapData:BitmapData;
var musclesVideo:Video = new Video(752, 451.2);
var connection:NetConnection = new NetConnection();
var stream:NetStream;
function loadMuscles():void {
musclesLoader.load(new URLRequest('img/muscles.png'));
musclesLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, musclesComplete);
}
function musclesComplete():void {
musclesBitmapData = new BitmapData(musclesLoader.content.width, musclesLoader.content.height, true, 0x000000);
musclesImage.bitmapData = musclesBitmapData;
musclesImage.smoothing = true;
musclesContainer.addChild(musclesImage);
contentContainer.addChild(musclesContainer);
}
function loadMusclesVideo():void {
connection.connect(null);
stream = new NetStream(connection);
stream.client = this;
musclesVideo.mask = musclesImage;
stage.addChild(musclesVideo);
musclesVideo.attachNetStream(stream);
stream.bufferTime = 1;
stream.receiveAudio(true);
stream.receiveVideo(true);
stream.play("vid/muscles.flv");
}
를이 코드 외부 내가 무대 등으로 컨테이너를 추가하고 해당 지점에있는 개체를 배치하는 기능을 가지고있다. 마스크가 적용되지만 알파 채널의 모양이 아닌 정사각형 (근육 경계의 크기 인 BitmapData)이 적용됩니다.
이 문제를 해결하는 올바른 방법입니까?
플래시 IDE를 사용하는 경우 타임 라인에서 테스트 할 수 있습니까? 알파 채널이 어떻게 작동하는지 보려면 png는 갈 방법이 아니며 gif가되어야합니다. 한편, 혼동을 없애기 위해 .flv 대신 기본 그래픽을 사용하여 작업하십시오. 거기에 어떤 잠재적 인 문제. –