2014-03-25 74 views
2

我在使用三星GT-N5100在纹理上绘制Pixmap时出现问题。如何在纹理上绘制Pixmap?

public class PixmapHelper{ 

    static Pixmap mapHelper; 
    static Pixmap miniObject; 


    public static void Initialize() 
    { 
     mapHelper=AssetLoader.GetPixmap(Settings.TEX_MAP_OBJECTS); 
     miniObject=new PixMap(4,4,Pixmap.Format.RGB888); 
     mapHelper.setBlending(Pixmap.Blending.None); 
     miniObject.setBlending(Pixmap.Blending.None); 
    } 

    public static void Draw(TextureRegion textureRegion,Texture dstTexture,int dstX,int dstY) 
    { 
     miniObject.drawPixmap(mapHelper,0,0,textureRegion.getRegionX(),textureRegion.getRegionY(), 
     textureRegion.getRegionWidth(),textureRegion.getRegionHeight()); 
     dstTexture.draw(miniObject,dstX,dstY); 
    } 
} 

当我在桌面上启动项目或三星N-GT8000都正常工作(绘制)。 如果我在GT-N5100上启动它,没有任何东西在dstTexture上绘制。dstTexture的高度= 800宽度= 600。

你能帮我解决这个问题吗?

+0

你有没有把你的纹理画到屏幕上?有问题的设备是否支持OpenGL 2.0和不是2的权力的纹理? –

+0

谢谢我解决了这个问题。我使用OpenGL 2.0纹理从FrameBuffer获取(FrameBuffer未通电2),它需要我随时避免重绘地图。 – Rinnion

回答

0

问题出在这个“miniObject = new PixMap(4,4,Pixmap.Format.RGB888);” 我的dstTexture格式为RGBA8888,但PixMap RGB888当我将其更改为RBA8888全部工作时。