我正在使用Andengine在Android上编写塔防游戏。 我有个问题。 我正在使用30-40个精灵。这些精灵是“敌人”。他们的坐标正在改变每个循环。(我正在使用TimerHandler) Enemys精灵的纹理是透明的png图像。 我正在使用galaxy s。当我尝试我的应用程序时,我没有任何问题。但是我将我的应用程序发送给了我的朋友,并且他说敌人随机闪烁闪烁。一个精灵是看不见的,经过一小段时间后,它是可见的。然后另一个精灵是不可见的,经过一段时间后,就可见了。
png文件:http://nafiz.in/yerSipasi.png
纹理加载:
yaratiklar = new BitmapTextureAtlas(256, 256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
kaplama = BitmapTextureAtlasTextureRegionFactory.createFromAsset(yaratiklar, this, "yerSipasi.png" , 0, 0);
精灵:
Sprite Yaratik = new Sprite(-50,-50, kaplama);
移动时
scene.registerUpdateHandler(new TimerHandler(1/50f,true,new ITimerCallback()
{
@Override
public void onTimePassed(final TimerHandler pTimerHandler)
{
....
.. for...
Yaratik[i].setPosition(xNew, yNew);
...
}
});
我无法理解为什么。
感谢您阅读。
答案 0 :(得分:3)
尝试两件事
首先,你的精灵是否能够正确融合 - 这样的事情?
myspite.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
其次,尝试禁用EVBO,因为有些手机有问题
public Engine onLoadEngine() {
camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions eo = new EngineOptions(true, ScreenOrientation.PORTRAIT, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
eo.getRenderOptions().disableExtensionVertexBufferObjects();
return new Engine(eo);
}
后者解决了我的游戏中精灵的“比特”消失的问题 - 我不知道这是否可以延伸到整个精灵......
答案 1 :(得分:0)
确保您没有为多个精灵使用相同的区域。我曾经遇到过这个问题,我的问题是我在多个精灵上使用相同的区域。