Я использую класс нашел здесь stackover для анимации актеров, но я врезаться на физическом устройствеанимация актера в libgdx аварии на Iphone
класс AnimatedImage.java:
public class AnimatedImage extends Image
{
protected Animation animation = null;
private float stateTime = 0;
public AnimatedImage(Animation animation) {
super(animation.getKeyFrame(0));
this.animation = animation;
}
@Override
public void act(float delta)
{
((TextureRegionDrawable)getDrawable()).setRegion(animation.getKeyFrame(stateTime+=delta, true));
super.act(delta);
}
}
создать метод(), получить кадры и добавить на сцену:
Array<TextureRegion> waveArrayTextureRegions = new Array<TextureRegion>();
for(int i = 1; i < 24; i++){
waveArrayTextureRegions.add(new TextureRegion(new Texture("wave/4096/wave ("+i+").png")));
}
waveAnimation = new Animation(0.15f,waveArrayTextureRegions, Animation.PlayMode.LOOP);
waveActor = new AnimatedImage(waveAnimation);
waveActor.setWidth(Gdx.graphics.getWidth()/1.05f);
waveActor.setHeight(Gdx.graphics.getHeight()/1.05f);
waveActor.setPosition(0,0);
stage.addActor(waveActor);
Я бы добавить этот класс анимированный актера, и на Android нет проблем, но когда я установить его на моем iPhone через RoboVM аварийное завершение с. Возможно, что класс или что-то не так с симпатией к iPhone? Additirruta на симуляторе iPhone работает только тогда, когда я помещаю его в физическое устройство, которое я сбой в этом классе. Может кто-нибудь мне помочь?
Можете ли вы предоставить дополнительную информацию об аварии? Было бы полезно использовать трассировку и/или журнал. – asherbar
Как user2016436 сказал, что нам нужно больше информации .. Случайные догадки: текстуры большие или файловая система не работает так, как вы ожидаете. – NLindbom