에 spriteBatch를 저장할 수 있는지 알고 싶습니다. Libgdx 텍스처에 SpriteBatch 저장
SpriteBatch batch = new SpriteBatch();
배치 안에 몇 일을 그린 후, 나는 한 질감에 (A 스크린 샷 같은 것을)에의 SpriteBatch를 포함하는 모든 일을 저장 싶습니다.
어떻게해야할지 모르겠으며 웹과 libgdx 문서를 검색했지만 찾을 수 없습니다.
덕분에 당신은
에 spriteBatch를 저장할 수 있는지 알고 싶습니다. Libgdx 텍스처에 SpriteBatch 저장
SpriteBatch batch = new SpriteBatch();
배치 안에 몇 일을 그린 후, 나는 한 질감에 (A 스크린 샷 같은 것을)에의 SpriteBatch를 포함하는 모든 일을 저장 싶습니다.
어떻게해야할지 모르겠으며 웹과 libgdx 문서를 검색했지만 찾을 수 없습니다.
덕분에 당신은
당신은 FrameBufferObject
(FBO)로 렌더링 할 수 있습니다. https://github.com/mattdesl/lwjgl-basics/wiki/FrameBufferObjects
미리 텍스처를 렌더링하기로 결정한 경우 FBO가 작동합니다. 한 가지 부작용은 이미지가 화면에 렌더링되지 않고 텍스처에만 렌더링된다는 것입니다. (물론 나중에 텍스처를 화면에 렌더링하기에 충분합니다.)
다른 대답이 제안되면 화면 버퍼에서 바이트를 긁어내어 Pixmap
에서 Texture
(파일 시스템까지 줄 필요가 없음)을 만들 수 있습니다. https://code.google.com/p/libgdx-users/wiki/Screenshots을 참조하십시오 (getScreenshot
메서드를 사용하여 Pixmap
바이트를 가져옵니다).
이 같은 텍스처로의 전환을 사용
final Pixmap pmap = new Pixmap(bytes, 0, bytes.length);
try{
Gdx.app.postRunnable(new Runnable(){
public void run(){
texture=new Texture(pmap);
}
});
}catch(Exception e){
e.printStackTrace();
}
스크린 샷을 찍은 경우에만 사용하십시오. https://code.google.com/p/libgdx-users/wiki/Screenshots –
이 코드는 알고 두 가지 이유 때문에 좋지 않습니다. 1. 스크린 샷을 파일로 저장해야합니다. 2. 파일을 저장하고 텍스처에서 파일을로드하는 것은 너무 길어서 실행에 많은 시간을 낭비합니다. 이 스크린 샷을 텍스쳐에 넣고 싶습니다. – LeSam
파일로 저장하는 대신 texture = new texture (pixmap)를 사용하십시오. –