2013-04-02 3 views
2

enter image description hereLibGDX - 회전의 SpriteBatch 자체에

나는 버튼

@Override 
public void render() { 

    SpriteBatch batch = new SpriteBatch(); 

    batch.begin(); 
    batch.draw(gemTexture, 10, 10, 100, 100); 
    batch.end(); 

    if (Gdx.input.isTouched()) { 
     rotateRight(); 
    } 

} 클릭에 자체에 의 SpriteBatch를 회전하고 싶은

private void rotateRight() { 
// How do I rotate it to look like 
} 

enter image description here

+1

이와 비슷한 기능이 있습니까? http://stackoverflow.com/questions/9445035/rotate-image-clockwise-using-libgdx – Robb

답변

8

너는 T를 그리고있어. SpriteBatch를 사용하여 exture합니다. 텍스처는 회전을 지원하지 않습니다. Sprite 클래스가 현재 수행하려는 작업에 더 적합 할 수도 있습니다. 다음은 할 수있는 작업에 대한 대략적인 개요입니다 ... 자세한 내용은 Sprite javadoc을 참조하십시오.

private void createGemSprite() { 
    gemSprite = new Sprite(gemTexture); 
    gemSprite.setPosition(10, 10); 
} 

@Override 
public void render() { 

    SpriteBatch batch = new SpriteBatch(); 

    batch.begin(); 
    gemSprite.draw(batch); 
    batch.end(); 

    if (Gdx.input.isTouched()) { 
     rotateRight(); 
    } 
} 

private void rotateRight() { 
    gemSprite.setRotation(gemSprite.getRotation() - 90); 
} 
+0

작동합니다! 친절하게 고마워요! – cesarferreira

+0

나는 총 (하단 수평 위치에서 끊임없이 발사)을 가지고 총을 회전시키고 총알을 ** ** 접촉 한 각도로 쏠 수 있습니까? –

+0

@MuhammadBabar는 별개의 질문이지만 Camera.unproject() 및 Math.atan2()는 시작하기에 좋은 장소입니다. –