【问题标题】:Android unity3d image pathAndroid unity3d 图片路径
【发布时间】:2015-01-15 13:50:35
【问题描述】:

我正在尝试在 Unity 中获取图像的实例,该实例位于:

/assets/texture/image.png

这是我所做的:

path = Application.persistentDataPath;
path2 = Application.dataPath;
path3 = Application.streamingAssetsPath;
iTextSharp.text.Image imageHeader = iTextSharp.text.Image.GetInstance("jar:file://" + path2 + "!/assets/texture/image.png");

我确实尝试了所有路径,我得到了:

不支持异常: jar:file:/data/app/com.myapk!/assets/texture/image.png.

有什么帮助吗?

【问题讨论】:

    标签: android image path unity3d itextsharp


    【解决方案1】:

    要访问您的 apk 的 assets 文件夹中的文件:

    String path = getAssets() + "/texture/image.png";
    iTextSharp.text.Image imageHeader = iTextSharp.text.Image.GetInstance(path);
    

    路径应该是这样的:

    file:///android_asset/texture/image.png
    

    编辑:不能在 Unity 中使用 getAssets - 那么资产文件夹中的文件不会有直接的系统安装文件路径。

    我通常对带有图形资产的 C++/NDK 应用程序所做的是将资产目录解压缩到 SDCard 以进行直接路径访问。在首次启动应用程序时,您将资产文件夹解压缩到 /mnt/sdcard (getExternalStorageDirectory),然后使用它。否则我不知道如何直接在 Unity 中执行此操作,但必须有一些东西。

    【讨论】:

    • 我无法在 Unity 中使用 getAssets()
    【解决方案2】:

    如果您想自己轻松完成这项工作,请将您的纹理放入Resources/ 文件夹并使用 Resources.Load 加载它。或者放在StreamingAssets/中,使用WWW类从jar文件中加载if。

    【讨论】:

      猜你喜欢
      • 2015-10-21
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 2019-10-27
      • 1970-01-01
      相关资源
      最近更新 更多