2014-09-28 3 views
0

내 게임에서 하나의 이미지 파일에 모든 GUI 텍스처가있는 스프라이트 시트를 사용하려고합니다. 하지만 사각형으로 정의 된 이미지 리소스의 일부만 사용하여 스프라이트를 만드는 방법을 알지 못합니다.하나의 이미지 파일에 여러 텍스처 사용

OBS : Texture Packer를 사용하고 싶지 않습니다. 이미지 파일에 텍스처를 번들링하고 json 파일에서 매핑을 제공하는보다 간단한 무료 Texture Packer와 유사한 프로그램이 있습니다. 나는 json을 파싱 할 수 있지만, 일단 하나의 텍스처와 시트 이미지를 정의하는 rect를 얻으면, 나는 그것들을 어떻게 처리해야할지 모른다.

답변

1

Beeblerox

에 flixel의 현재 버전에서

을 따르면 당신은이 방법으로 수행 할 수 있습니다

var cached:CachedGraphics = FlxG.bitmap.add(Graphic); // where Graphic is the path to image in assets 
var textureRegion:TextureRegion = new TextureRegion(cached, rect.x, rect,y, rect.width, rect.height, 0, 0, rect.width, rect.height); // where rect is the rectangular area you want to load into sprite 
sprite.loadGraphic(textureRegion); 

작품에 다음 버전에서이 변경됩니다 :

var imageFrame:ImageFrame = ImageFrame.fromRectangle("path/to/image", rect); 
sprite.frames = imageFrame; 
0

기본적으로 다음을 수행해야합니다.

  • BitmapData 개체를 새로 만듭니다.
  • 이 개체의 copyPixels (sourceBitmapData : BitmapData, sourceRect : Rectangle, destPoint : Point)입니다. sourceBitmapData는로드 된 스프라이트 시트 BitmapData입니다.
  • 이 BitmapData에서 새 display.flash.Bitmap 개체를 작성하십시오.
  • addChild (bm) 여기서 bm은 방금 만든 컨테이너에 표시하기 위해 만든 비트 맵입니다.

여기를 참조하십시오 :