2012-06-04 5 views
0

가장 간단한 그래피티 앱. 코드는 바탕 화면과 Android에서 잘 작동합니다. iOS (실제 기기 - iPad 2에서 테스트)에서 동일한 작업을 수행하려고하면이 오류가 발생합니다. ArgumentError : Error # 2015 : Invalid BitmapData.ArgumentError : 오류 # 2015 : 잘못된 BitmapData입니다. iOS에서

기본적으로 BitmapData의 크기가 큰 이유는 분명합니다.

왜 그런가? 그리고 왜 iOS에서만? 비트 맵 코드

private var maskLine:Sprite = new Sprite(); 
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMove); 
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown); 
stage.addEventListener(MouseEvent.MOUSE_UP,onUp); 

protected function onDown(ev:MouseEvent):void { 
maskLine.graphics.lineStyle(20, 0x33CC00, 1); 
maskLine.graphics.moveTo(mouseX, mouseY); 
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); 
} 
protected function onUp(ev:MouseEvent):void { 
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove); 
} 

protected function onMove(ev:MouseEvent):void { 
    maskLine.graphics.lineTo(mouseX, mouseY); 
} 

저장 :

 maskLine.filters = [new BlurFilter(4, 4, 1)]; 
     trace (Capabilities.screenResolutionX + ' ' + Capabilities.screenResolutionY + ' ' + maskLine.width + ' ' + maskLine.height); 
    //768 1024 107374182.35 107374182.35 
// Here is get error 
     var bmpd:BitmapData = new BitmapData(maskLine.width, maskLine.height, true, 0x000000); 
     bmpd.draw(maskLine); 
+0

꼭 그렇지는 않습니다. 'width'또는 'height'매개 변수 중 하나가 양수가 아닌 경우 (즉, 음수, 0 또는 NaN)이 오류가 발생합니다. – weltraumpirat

+0

BitmapData 생성자 참조를 확인하십시오. 그 이유는 다음과 같습니다. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#BitmapData() – weltraumpirat

+0

@weltraumpirat You trace를 볼 수 있습니다 - maskLine.width == 107374182.35 – Astraport

답변