2012-03-01 10 views
0

작업중인 비트 맵의 ​​크기를 3.0으로 조정하려고합니다. 기본적으로 비트 맵 데이터에 그려진 스프라이트를 벡터로 저장합니다. 벡터의 데이터는 결국 비트 맵 객체에 저장됩니다. 이제 BitmapData 스프라이트를 작게 만들려고하지만 100 행렬을 업데이트하지 않으려합니다. 다른 방법이 있습니까?변환 행렬을 편집 할 필요없이 비트 맵 데이터의 크기를 조정하고 좋은 품질을 유지하는 방법은 무엇입니까?

표시되는 비트 맵을 크기 조정하여 약간의 성공을 거두었지만 이미지가 약간 들쭉날쭉 해 보이며 모델이 달 걸음을 돌리지 않습니다.

나는 또한 Matrix.a = 0.4matrix.d = 0.4을 피곤했지만 아무것도하지 못했습니다. 내가 bitmap.scalex = 0.7를하고 scaleY에 대해 동일한 경우

는 그것이 작게하지만 지금은 x와 y로 공기에 잘하지 않으며 그들을 역에 갈 수의 코드가 바로 '아무튼있는 지금 scalX *= -1하고 있었다 어느 쪽도 효과가있는 것처럼 보입니다. 또한 나는 그들을 공중에서 내쫓는 방법을 알아 냈다. 그러나 그들은 지그재그와 달 걷기 전에 말했다. 제가 여기 오기 전에 작성된 코드를 수정하려고 할 때 도움을주십시오.

var b:BitmapData = new BitmapData(CustomerRenderer.BLIT_WIDTH,  
CustomerRenderer.BLIT_HEIGHT, true, 0x00000000); 
     for(var i:int=0; i<WRAPPER.numChildren; i++) 
     { 
      b.draw(Sprite(WRAPPER.getChildAt(i)), 
        WRAPPER.getChildAt(i).transform.matrix, null, null, b.rect, true); 
     } 
     _spriteSheet[_currentFrame] = b; 

그리고 우리가 어디 BAKED_BITMAP를 데이터

BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame]; 

는 표시 할 것을 사용 : 우리는이 한

: Bascially 여기

일부 코드, 나는 CEO의 승인을 얻었다 비트 맵입니다

그런 다음 모든 사람이 뒤집을하고 있었다 :

BAKED_BITMAP.scaleX *= -1; 
BAKED_BITMAP.x = (BAKED_BITMAP.scaleX >= 0) ? 0 : BLIT_WIDTH; 

감사

답변

2

당신은 그것을 당신에게 원하는 효과를 제공합니다 있는지 확인하기 위해 Bitmap 개체의 smoothing 속성을 설정하려고 할 수 있습니다.