2014-10-24 1 views
0

Если я использую спрайты я могу размер установки Thie и положение спрайта со ссылкой на мои игры WORLD ЕДИНИЦ:Укажите размер анимации спрайтов в мировых единицах ВСЕ СРАЗУ

AtlasRegion region = textureAtlas.findRegion("0001"); 
    sprite = new Sprite(region); 
    sprite.setPosition(11.5f, 5f); 
    sprite.setSize(7f, 7f * region.getRegionHeight()/region.getRegionWidth()); 

Как я могу добиться того, что с анимацией , Как установить размер каждого спрайта ключевого кадра?

textureAtlas = new TextureAtlas(Gdx.files.internal("data/bycicle.atlas")); 

TextureRegion[] rotateUpFrames = new TextureRegion[4]; 

// Create an array of TextureRegions 
rotateUpFrames[0] = (textureAtlas.findRegion("0001")); 
rotateUpFrames[1] = (textureAtlas.findRegion("0002")); 
rotateUpFrames[2] = (textureAtlas.findRegion("0003")); 
rotateUpFrames[3] = (textureAtlas.findRegion("0004")); 

rotateUpAnimation = new Animation(0.1f,rotateUpFrames); 

ответ

0

Я создал анимационную подкласс, так что я могу иметь удобные методы для применения в масштабе каждый раз, когда спрайт обновляется с новой области. Например:

public class AnimationPlus extends Animation { 

    float scale; 

    public AnimationPlus (float frameDuration, 
      Array<? extends TextureRegion> keyFrames, PlayMode playMode, float scale) 
    { 
     super(frameDuration, keyFrames, playMode); 
     this.scale = scale; 
    } 

    public void applyKeyFrameToSprite (float stateTime, Sprite sprite) 
    { 
     TextureRegion region = getKeyFrame(stateTime); 
     sprite.setSize(scale, 
      scale * region.getRegionHeight()/region.getRegionWidth()); 
    } 
} 

Кстати, если вы называете ваши кадры анимации с подчеркивания числовых суффиксов (например, «bike_0», «bike_1», «bike_2», и т.д.), то вы можете удобно получить массив таких как:

Array<TextureRegion> bikeRegions = textureAtlas.findRegions("bike"); 
AnimationPlus animation = new AnimationPlus(0.1f, bikeRegions, PlayMode.LOOP, 7f); 
+0

Прохладный, спасибо! Думаю, я могу это использовать! – gogonapel

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

  • Нет связанных вопросов^_^