У меня проблема с методом sprite.setSize(float x, float y)
в Libgdx. Это не влияет на размер или размеры спрайта. Они остаются фиксированными независимо от того, что я передаю методу setSize().Как изменить размер спрайта в Libgdx?
вот мой код:
public class GameScreen implements Screen {
OrthographicCamera camera;
SpriteBatch batch;
Texture carTexture;
Sprite carSprite;
public GameScreen()
{
}
@Override
public void render(float delta) {
// TODO Auto-generated method stub
Gdx.gl.glClearColor(0,0,0,0);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.begin();
carSprite.setSize(16, 32);
batch.draw(carSprite, 0 , 0);
batch.end();
camera.update();
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
camera.viewportWidth=width;
camera.viewportHeight=height;
camera.update();
}
@Override
public void show() {
// TODO Auto-generated method stub
camera = new OrthographicCamera();
batch = new SpriteBatch();
carTexture = new Texture(Gdx.files.internal("NetRace.png"));
carTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
carSprite = new Sprite(carTexture);
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
}
могли бы вы найти мою ошибку?
Спасибо за второй вариант. – kingAm
@kingAm добро пожаловать. – Wazani
Это решение также является решением другой проблемы: уменьшение размера Pixmap. Если вы используете функцию Sprite.setScale() вместо setSize(), она точно масштабирует Pixmap (завернутый в текстуру). Это была проблема: https://github.com/libgdx/libgdx/issues/2732#issuecomment-74154416 – jwehrle