AndEngine AnimatedSprite Анимировать только первый спрайт

Почему, когда я добавляю нового врага, он не анимируется? Анимирован только первый враг..

private BitmapTextureAtlas EnemyTextureAtlas;
private TiledTextureRegion enemyTextureRegion;

EnemyTextureAtlas = new BitmapTextureAtlas(512, 256, TextureOptions.BILINEAR);        
enemyTextureRegion = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(EnemyTextureAtlas, this, "enemy.png", 400, 0, 2, 2);

private void addEnemy(final float pX, final float pY)
{
    final AnimatedSprite enemy;
    enemy = new AnimatedSprite(pX, pY, this.enemyTextureRegion);
    enemy.animate(200);
    scene.attachChild(enemy);

}

person user1219517    schedule 19.02.2012    source источник


Ответы (2)


Вам нужно клонировать textureRegion

enemy = new AnimatedSprite(pX, pY, this.enemyTextureRegion.clone());
person Greg    schedule 19.02.2012
comment
Спасибо, но при этом у меня 2 ошибки: The constructor AnimatedSprite(float, float, Object) is undefined The method clone() from the type Object is not visible Main.java - person user1219517; 20.02.2012
comment
Хорошо, я выпускаю свою функцию клонирования в TiledTextureRegion, теперь она работает. Большое спасибо - person user1219517; 20.02.2012
comment
метод clone() устарел, вместо этого используйте deepCopy() - person Jimmar; 23.02.2012

enemy = new AnimatedSprite(pX, pY, this.enemyTextureRegion.deepCopy());

вместо

enemy = new AnimatedSprite(pX, pY, this.enemyTextureRegion.clone());

person jmroyalty    schedule 20.02.2012