将Android位图转换为LibGdx的纹理

将Android位图转换为LibGdx的纹理,第1张

概述我试图通过转换将位图转换为libGDX纹理:>AndroidBitmaptobyte[]>byte[]到libGDXPixmap>libGDXPixmap到libGDX纹理我面临的问题是转换为纹理的位图是从属性文件夹中的纹理包装器绘制精灵表publicvoidonByteArrayOfCroppedImageReciever(byte[]bytes){try{

我试图通过转换将位图转换为libGDX纹理:

> Android Bitmap to byte []
> byte []到libGDX Pixmap
> libGDX pixmap到libGDX纹理

我面临的问题是转换为纹理的位图是从属性文件夹中的纹理包装器绘制精灵表

public voID onByteArrayOfCroppedImageRecIEver(byte[] bytes) {    try {        pmap=new pixmap(bytes, 0, bytes.length);        tex=new Texture(pmap);        face=new Sprite(tex);        // game.setScreen(new GameScreen(game, batcher, face));    } catch(Exception e) {        Gdx.app.log("KS", e.toString());        e.printstacktrace();    }}

解决方法:

另一种可能性是你有一个线程问题.我在UI线程上加载我自己的非托管纹理时注意到了这种问题,而libgdx在渲染线程上同时加载纹理.
如果这是问题,那么简单的解决方案是使用Gdx.app.postRunnable将纹理的创建与渲染线程同步.即:

public voID onByteArrayOfCroppedImageRecIEver(byte[] bytes) {    try {        pmap=new pixmap(bytes, 0, bytes.length);        Gdx.app.postRunnable(new Runnable() {            @OverrIDe            public voID run() {                            tex=new Texture(pmap);                face=new Sprite(tex);            }        });    } catch(Exception e) {        Gdx.app.log("KS", e.toString());        e.printstacktrace();    }}
总结

以上是内存溢出为你收集整理的将Android位图转换为LibGdx的纹理全部内容,希望文章能够帮你解决将Android位图转换为LibGdx的纹理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1102502.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存