【问题标题】:How to get Java Drawables from a Plugin in Unity如何从 Unity 中的插件获取 Java Drawables
【发布时间】:2015-10-28 11:43:16
【问题描述】:

我正在尝试为 Unity 中的纸板应用程序制作启动器。

我的问题是 Unity 没有提供将所有 VR 应用程序安装到手机中的方法(至少我不知道),所以我尝试用 Java 制作一个插件来做到这一点。一切正常,我可以获取 Java 中的 ApplicationInfo 列表,这样我就可以向 Unity 发送信息,例如这些信息的数量及其名称。

我的问题是我无法发送应用程序图标的图像,因为 Java 使用 Drawable 从 PackageManager.getApplicationIcon() 获取它,我无法从 Unity 访问它。

我试过这个:

private List<ApplicationInfo> cbApps; //list of ApplicationInfo already initialized

    public int[] getIcon(int i) {
        BitmapDrawable icon= (BitmapDrawable)getPackageManager().getApplicationIcon(cbApps.get(i));
        int[] result= new int[icon.getIntrinsicWidth()*icon.getIntrinsicHeight()];
        int p = 0;
        for(int j=0;j<icon.getIntrinsicWidth();j++)
            for(int k=0;k<icon.getIntrinsicHeight();k++){
                result[p]=icon.getBitmap().getPixel(j,k);
            }
        return result;
    }

但它只返回一个充满零的数组(有时是一个非常双的正数或负数),因此它无法按预期工作。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 你永远不会在循环中增加索引p,看看是否有帮助
  • 难以置信 -.-' 谢谢

标签: java c# plugins unity3d drawable


【解决方案1】:

如果有人来这个问题,我已经找到了解决方案并将其发布在this other ask

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    相关资源
    最近更新 更多