2010-05-25 3 views
0

로더와 URLRequest를 사용하여 인터넷에서 .png를 다운로드하여 내 표시 목록에 추가했습니다. 이미 비트 맵이므로 이미 비트 맵 데이터가 내장되어 있습니까? 또는 직접 비트 맵 데이터를 만들어야합니까?ActionScript BitmapData 내장 비트 맵에?

도 왜 displayImage 함수에서 true를 출력 할 때 mouseMoveHandler에서 동일한 trace 문이 false를 반환합니까?

var imageLoader:Loader = new Loader(); 
    imageLoader.load(new URLRequest("http://somewebsite.com/image.png")); 
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, displayImage); 

    function displayImage(evt:Event):void 
    { 
    addChild(evt.target.content); 
    addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); 

    trace(evt.target.content is Bitmap); //outputs 'true' 
    } 

    function mouseMoveHandler(evt:MouseEvent):void 
    { 
    trace(evt.target.content is Bitmap); //outputs 'false' 
    } 

답변

1

빠른 검색에서 AS3 문서는 Bitmap has a bitmapData property입니다.

당신은 다른 것들을 추적하기 때문에 각 추적마다 다른 rusults를 얻고 있습니다. "Bitmap"이 아닌 실제로 그 속성을 추적하여 실제 저장된 내용을 확인하십시오.

첫 번째 추적은 이벤트를 추적하고 두 번째는 MouseEvent입니다. displayImage 함수는 "Loader Complete Handler"이므로 대상은 LoaderInfo object이됩니다. LoaderInfo 객체에서 대상은 "이 LoaderInfo 객체와 연관된로드 된 DisplayObject"를 참조합니다. 그러나 MouseEvent에서는 대상이 달라집니다. 목표가 무엇인지 알아 보려면 docs for each event을 참조해야합니다.

또한 마우스 이동 이벤트 리스너를 스테이지에 추가해야 할 필요가 있다고 생각합니다.

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); 
+0

ouf. 그것은 정말 바보 같은 질문이었습니다. 나는 열을 비난한다. ;) – TheDarkIn1978