2013-02-17 3 views
0

원래이 비트 맵은이 목적으로 비트 맵으로 사용해야하는이 무비 클립 이미지를 표시하려고합니다. 어떤 이유로 그것은 작동하지 않습니다 ... 그것은 어떤 오류도 발생시키지 않습니다 ... 사용자가 누를 때이 이미지가 가려져 있어야하고 나중에 함수를 수행하기 위해 다른 비트 맵과 비교되어야합니다. 하지만 전에 언급 한 것처럼 어떤 이유로 작동하지 않습니다. 누군가 제발 나를 도울 수 있니? 이비트 맵 마스크로 무비 클립 충돌

import flash.display.Graphics; 
import flash.display.MovieClip; 
import flash.display.BitmapData; 

var mouseclick:Number=0; 
var maskedbg_mc:maskedbg = new maskedbg(); 
var masking:Sprite = new Sprite()    

addChild (maskedbg_mc); 
maskedbg_mc.x = 18; 
maskedbg_mc.y = 343; 
var bitmapDataCopy:BitmapData = new BitmapData(742,165,true,0x00FFFFFF); 
var b:Bitmap = new Bitmap(bitmapDataCopy); 

bitmapDataCopy.draw(maskedbg_mc); 

b.mask = masking; 
var Testing:BitmapData = new BitmapData(maskedbg_mc.width, maskedbg_mc.height, true, 0x00000000); 


addChild(masking); 


stage.addEventListener(MouseEvent.MOUSE_DOWN, Pressing); 
stage.addEventListener(MouseEvent.MOUSE_MOVE, Moving); 
stage.addEventListener(MouseEvent.MOUSE_UP, Lifting); 


function Pressing(event:MouseEvent):void { 
mouseclick = 1; 
} 


function Moving(event:MouseEvent):void { 
if (mouseclick == 1) { 
masking.graphics.beginFill(0x000000); 
masking.graphics.drawEllipse(mouseX, mouseY, 70, 60); 
masking.graphics.endFill(); 
} 
} 


function Lifting(event:MouseEvent):void { 
mouseclick = 0; 
} 

if (bitmapDataCopy.compare(Testing) ==0) 
{ 
    trace ("Awesomness") 
} 

답변

1

코드를 내려다 당신이 "maskedbg_mc"를 추가하는 동안, 나는 '실제로 잘못되고있는 표시 목록에 "B"(마스크 된 DisplayObject를) 추가하지 않는주의 ... 그것은 코드입니다 귀하의 코드에서 가려져 있습니다. 이 2 개의 표시 객체가있는 이유가 있습니까?

나는 액션 스크립트 코딩 컨벤션 다음을 추천 할 것입니다 : 당신은 대문자 초기 편지와 두 변수와 함수가있을 때

http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/

귀하의 코드는 매우 혼란 보이는, 그들은 클래스처럼 보인다.