zoukankan      html  css  js  c++  java
  • unity发布安卓lua路径不存在问题

    项目用的是xlua 采用自定义加载方式

    使用File去读取路径下的文件,lua文件本来放在了StreamingAssets路径下

    PC运行无问题,发布安卓后,居然提示路径不存在。

    查了下资料后发现,File的这种操作方式无法在安卓平台去读取StreamingAssets路径下的文件,见鬼

    这个路径只能用来AssetBundle.LoadFromFile来进行操作

    资料参考:http://www.xuanyusong.com/archives/4033

    如果真的想用File这种方式来读取的话,那么就不要把文件放在StreamingAssets路径下了

    只能把lua放在Application.persistentDataPath; 这个路径下,我还是手动拷贝到安卓上的,确实可以做到再安卓上可以看见这个文件

    (我在模拟器上面找到了这个路径,在小米手机上居然没有找到这个路径 = = )

    这种可以制作手机上的自定义脚本游戏,感觉不错。

    后来的解决方案是,把lua加上txt后缀,然后ab打包放在StreamingAssets路径下,就可以用AssetBundle.LoadFromFile来进行操作了

    【代码】

    1 void RequireLua(string name) {
    2   TextAsset luaCode = bundle.Load(name, typeof(TextAsset)) as TextAsset;
    3   lua.DoString(luaCode.text);
    4 }

    感觉不错,比我的要方便,之前用的大奥的那个lua框架,不是很好用,关键是没理解他的那种写法,那么我可以去借鉴上面代码的写法

    其他参考资料

    unity 在移动平台中,文件操作路径详解:http://blog.csdn.net/huang9012/article/details/44308743

    Unity中的Path对应各平台中的Path :http://www.manew.com/forum.php?mod=viewthread&tid=21404&extra=page%3D1%26filter%3Dtypeid%26typeid%3D143

    优秀程序员的博客有哪些?:https://www.zhihu.com/question/19934502

    【可能会用到的再度优化】保留.lua后缀名,将lua文件打包成assetbundle:http://blog.csdn.net/musicseli/article/details/46415075

    【检测更新,AB加密】Unity手游之路<十二>手游资源热更新策略探讨:http://blog.csdn.net/janeky/article/details/17666409

    Unity资源处理机制(Assets/WWW/AssetBundle/...)读取和加载资源方式详解】:http://blog.csdn.net/swj524152416/article/details/54022282

    ============================================================================10月9日更新=========================================================================================

    把lua打包成assetbundle,此时注意后缀为lua还无法打包

    xlua写成 .lua.txt才可以打包

    不过写成了这样后,lua脚本中的require关键字里面引用的路径在ab中就没啥用了,此时让lua去调用c#中的自定义加载lua方法来加载lua,以此达到require的目的

    值得注意的是,之前我的代码里面写的是一当require的话会自动调用其构造函数,这个是不允许的,需要改下,让其不去调用构造函数

  • 相关阅读:
    P2018 消息传递[dp]
    P1436 棋盘分割[dp]
    一条线段引发的思考
    浅谈树上差分
    P2680 运输计划[二分+LCA+树上差分]
    P1600 天天爱跑步[桶+LCA+树上差分]
    P4560 [IOI2014]Wall 砖墙
    P1311 选择客栈[模拟]
    P1314 聪明的质监员[二分答案]
    Linux snmp导入MIB库
  • 原文地址:https://www.cnblogs.com/sanyejun/p/7615402.html
Copyright © 2011-2022 走看看