2009-12-22 5 views
2

저는 플렉스로 타일 벽지를 만들려고합니다. backgroundSize를 100 % 및 "auto"로 늘리거나 정상적으로 사용했습니다. 그러나 타일을 만드는 방법에 대해서는 잘 모릅니다.플렉스에서 타일 벽지를 만드는 방법은 무엇입니까?

소스 코드, 지침 또는 소스 코드로 도움을 줄 수있는 사람이 있습니까? 플렉스 3의 타일 backgound에 만들기 감사 Zeeshan

답변

4

는 CSS 스타일 또는 재산 스타일의 사용을 통해 사용할 수 없습니다.

그러나 구성 요소에 원시 비트 맵 데이터를 사용하여 바둑판 식 이미지의 그림을 처리하는 사용자 지정 프로그래밍 스킨을 할당하는 것만으로 간단하게 가능합니다.

나를 더 적용된 프로그래밍 경계의 스킨과 구성 요소 일부 코드

<mx:Canvas borderSkin="{TiledBackgroundSkin}" 
    width="100%" height="100%"> 
</mx:Canvas> 

내 포인트를 설명하겠습니다.

이제 경계면 스킨을 만들려면 RectangularBorder 클래스를 확장해야합니다. 생성자 기와의 비트 맵 이미지를 생성

public class TiledBackgroundSkin extends RectangularBorder 
{ 
    [Bindable]  
    [Embed(source='tile.jpg')] 
    private var tileImageClass :Class; 
    private var tileBitmapData :BitmapData; 

    public function TiledBackgroundSkin() 
    { 
     super(); 
     createBitmap() 
    } 

    /** A private method that handles the drawing of the bitmap **/ 
    private function createBitmap():void 
    { 
     var backgroundImage:Bitmap = new tileImageClass(); 
     tileBitmapData = new BitmapData(backgroundImage.width,backgroundImage.height); 
     tileBitmapData.draw(backgroundImage); 
    } 

    /** Override updateDisplayList to draw the Tiled Background **/ 
    override protected function updateDisplayList( unscaledWidth:Number,unscaledHeight:Number):void 
    { 
     super.updateDisplayList(unscaledWidth,unscaledHeight); 
     graphics.clear(); 
     graphics.beginBitmapFill(tileBitmapData); 
     graphics.drawRect(0,0,unscaledWidth,unscaledHeight); 
     graphics.endFill(); 
    }  
} 

: 같은 .

그런 다음 updateDisplayList 메서드 (초기 생성 후 및 구성 요소의 후속 크기 조정을 위해 호출 됨)은 바둑판 식 배경으로 전체 구성 요소를 채 웁니다.

바둑판 식 이미지의 오프셋 위치를 조정하려면 updateDisplayList 메서드에서

관련 문제