2017-01-27 2 views
-1

Am постепенное увеличение размера спрайта, после того как оно достигает размера ceritain, оно должно постепенно уменьшаться в размере. Проблема в том, что она не изменяет размеры из центра.Как изменить размер спрайта из центра в libgdx

private float size = 40; 
private float v = 200; 

В моем методе обновления я есть

public void update(float delta){ 
    size += v * delta; 

    if (size > 80){ 
     v = -200; 
    } 

    if (size <= 0) { 
     size = 0; 
    } 

} 

тогда я рисую его

 sprite.setRegion(AssetLoader.atlas.findRegion("circle")); 
     sprite.setPosition(centerX, centerY); 
     sprite.setOriginCenter(); 
     sprite.setSize(size, size); 
     sprite.draw(game.batch); 

как я сделать его размер от центра?

ответ

0

Я бы предположил, что setOriginCenter устанавливает источник на текущий центр. Поэтому, если вы измените размер, вам нужно будет снова вызвать этот метод. Вы рассматривали изменение масштаба вместо размера?

p.s .: Spirte ссылка на источник: https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/graphics/g2d/Sprite.java

0

setOriginCenter метод установленное значение

originX = width/2 
originY = height/2; 

поэтому этот метод должен быть вызван после установки нового размера (ширина, высота) спрайта.

Лучше использовать метод setScale для спрайта.

Смежные вопросы