2014-05-11 2 views
0

저는 지난 2 주 동안 libGDX를 배웠고 텍스처를 사용하여 동작을 움직이는 방법에 대해 고심하고 있습니다.libGDX에서 사각형으로 그려진 텍스처 애니메이션

Rectangle monkey; 

public void create() { 
    monkeyImage = new Texture(Gdx.files.internal("data/monkey.png")); 

    monkey = new Rectangle(); 
    monkey.x = 800/2 - 64/2; 
    monkey.y = 20; 
    monkey.width = 128; 
    monkey.height = 256; 
} 

@Override 
public void render() { 
    Gdx.gl.glClearColor(1, 1, 1, 1); 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.setProjectionMatrix(camera.combined); 

    batch.begin(); 
    batch.draw(monkeyImage, bucket.x, bucket.y); 
    batch.end(); 
} 

내 텍스처 각 이미지는 128 * 256 픽셀이므로 텍스처 크기가 256 * 512 픽셀, 나란히 두 이미지 측이다 : 여기

는 내 이미지를 만드는 방법이다. 직사각형에 애니메이션을 적용하여 두 이미지가 깜박 거리도록하고 싶습니다. 나는 이것을 연구했지만 사각형을 사용하는 예제를 찾을 수 없으므로 아무 것도 할 수 없습니다. 애니메이션을 유지하기 위해 직사각형을 사용하여 원하는 것을 할 수 있습니까?

답변

1

Texture을 두 개의 별도로 렌더링 가능한 부분으로 나누어야한다고 생각합니다. Texture 부분을 참조하려면 TextureRegion을 사용하십시오. 그런 다음 오른쪽 TextureRegiondraw으로 전달하십시오.

monkeyImage = new Texture(...) 
monkeyL = new TextureRegion(monkeyImage, 0, 0, 128, 256); 
monkeyR = new TextureRegion(monkeyImage, 128, 0, 128, 256); 

그리고 당신의 render 방법 : 당신의 설정에서이 같은 것을 할 당신은 하나 개의 문자에 대한 이미지를 많이 가지고가는 경우

TextureRegion t = someTest ? monkeyL : monkeyR; 
batch.draw(t, bucket.x, bucket.y); 

, 당신은 Libgdx Animation 보라를하는 Timed 애니메이션에서 사용되는 이미지를 나타내는 여러 "키 프레임"을 추적하도록 설계되었습니다.

관련 문제