Получение дополнительных линий вдоль TextureRegion в AndEngine (Android) - PullRequest
0 голосов
/ 16 ноября 2011

Я получаю дополнительную строку (т.е. 1 пиксель) вместе с TextureRegions. Вот мой код, где я делаю textureRegions. Я также попытался добавить отступ 1 пиксель между TextureRegions, но это не сработало. Размер моего изображения 132х24.

    this.txAt_Paddles = new BitmapTextureAtlas(512, 64,TextureOptions.BILINEAR_PREMULTIPLYALPHA);
    this.txRg_paddle_left = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.txAt_Paddles, this, "paddle_left.png", 0,0);
    this.txRg_paddle_right = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.txAt_Paddles, this, "paddle_right.png", 0,24);
    this.mEngine.getTextureManager().loadTexture(this.txAt_Paddles);    

Может ли кто-нибудь указать на причину, почему я получаю эти линии по разные стороны разных текстурных областей. Эти линии расположены не со всех сторон TextureRegions.

Ответы [ 3 ]

1 голос
/ 18 ноября 2011

Я использовал обходной путь здесь , чтобы избавиться от этих причудливых строк. Насколько я могу судить, они просто являются результатом неправильного заполнения где-то. Я все еще работаю, чтобы понять, , почему решение работает, но оно помогло!

0 голосов
/ 16 ноября 2011

Вам нужно использовать отступ не менее 1. От всей души предлагаю вам использовать BuildableTextureAtlas.

Здесь код

 BuildableBitmapTextureAtlas text =  new BuildableBitmapTextureAtlas(512, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
  //note: no warring of positioning
 TextureRegionFactory.createFromAsset(text, this, "my image");
 [...]
 try 
    {
        text.build(new BlackPawnTextureBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(2));
    } catch (final TextureAtlasSourcePackingException e) {
        Debug.e(e);
    }

 this.mEngine.getTextureManager().loadTextures(this.mBuildableTexture);
0 голосов
/ 16 ноября 2011

Я не использую AndEngine, но обычно, когда это происходит со мной, это потому, что я установил OpenGL в GL_NEAREST, который выглядит как два пикселя по обе стороны от целевого пикселя, чтобы приблизить цвет.Если с вами происходит то же самое, возможно, вы смотрите далеко влево / вправо от вашего изображения ...

Попробуйте уменьшить ширину / высоту вашей текстуры (не фактический размер изображения, а этот размервы говорите AndEngine)

...