uLua&SimpleFramework入门视频教程网盘地址

视频教程地址 http://pan.baidu.com/s/1gd8fG4N
游戏框架地址 https://github.com/jarjin
游戏案例地址 http://www.ulua.org/showcase.html

ulua群里的一些资料,转过来方面查看

 

ulua学习顺序。请根据自身了解的知识入座。 初级:SimpleFramework框架 中级:ulua插件、cstolua 高级:底层库编译。 框架的角色定位分为2种, 第一种,对于有框架的大厂,它就是个使用ulua+cstolua的一个比较完整的demo。 第二种,对于没有框架的同学,可以自己基于它修改、扩展。 wrap就是c#类提供给lua用的接口文件

attempt to index global 'System' (a nil) 刚下载后,需要做两步操作 (1)Lua/Gen lua wrap files 生成wrap (2)Game/Build Bundle Resource(NGUI版) 生成资源 Game/Build AssetBundles (UGUI版) 生成资源

关于unknow lua error lua文件编码问题处理 如果lua文件中保护中文注释等信息,文件保存为utf8-bom,如果怕麻烦干脆把中文去掉,然后保存成utf8即可解决问题。

unprotected error in call to Lua API LuaInterface.LuaException: unprotected error in call to Lua API (Loader file failed: game) 检查Lua变量是不是少了local关键字.或者关掉变量检查strict.lua,在Golbal.lua中注释掉require "strict"

mac下编译工程找不到lua.h办法 删除ulua/Source目录,retry~

ulua底层库&Mingw编译工具下载,百度网盘 下载地址:http://pan.baidu.com/s/1gd1Wyx9 ulua已经全部开源,你们可以定制自己需要的库,mac、ios是luavm,需要xcode6.0以上,安卓需要ndk 8,windows下编译工具mingw32/64。我是放在

D盘根目录: 32位:D:\MinGW\x86\msys\1.0\msys.bat 64位:D:\MinGW\x64\msys\1.0\msys.bat 真正的安卓版的编译文件在这个下面:Source\android\jni

ulua资料位置 NGUI版、UGUI版、WINPHONE版框架地址: http://www.ulua.org/simpleframework.html 最完整的文档注解:群共享里面SimpleFramework_v0.2.7注解 - 完整版

_luaopen_pack, referenced from: "错误 "_luaopen_pack", referenced from: "_lua_tocbuffer", referenced from: 去掉LuaDLL.cs中报错函数声明,及其相关报错代码即可.

lua关系 ulua -》很早老外基于luainterface做的一个unity版lua绑定 luajit-》一个jit版本的luavm cstolua-》最初基于ulua,现在优化的很棒和ulua关联已不多的一个基于静态导出的lua绑定

游戏已经开发到后期,如何接入ulua? (1)活动 (2)计时器(单位秒)驱动lua的update (3)网络管理留给lua能跟服务器交互的接口(现在未必用得到的)。活动这部分变数最大,很多问题上线前是无法预知的,比如上线如果发生数据

不理想,或者非常火爆,这些情况无法预知,根据这些情况做活动调整,这些很容易有更新需求。而且未必前期都能想到坐进去。运营策划都是要根

据在线运营情况做未知的活动调整。还有一部分我称之为,程序给自己留的后路,如果绝大部分都是c#的话,很有可能产生上线后产生bug,比如:

新手引导,在什么地方卡住了等。客户端启动一个计时器,驱动lua的一个onTimer,在里面根据游戏运行情况,动态调整对游戏的控制。还有就是多

给自己留一个协议的接口给lua备份用。

Unity手游究竟有无必要做代码热更新 Unity热更新的必要性:(开发期)减少手游打包次数,大大缩短开发周期,提升程序调试效率。(运营期)减少大版本更新次数,可以减少用户流

失,抱怨,提高留存,付费等。

simpleframework 下载运行崩溃办法 因为开发期不知道大家Unity版本,为了减少错误,wrap文件在发布的时候都被clear掉了,所以当大家一开始下载运行的时候,这部分是缺少的,需

要单击菜单Lua/Gen Lua Wrap Files。另外资源文件也需要根据自己的版本重新生成。操作步骤:(1)单击菜单Lua/Gen Lua Wrap Files。(2)单击

Game/Build Bundle Resource。

simpleframework百度网盘下载地址 如果群共享与ulua.org上下载不下来,请到百度网盘备份http://yun.baidu.com/s/1jGzN78q#path=%252FSimpleFramework

GUI 的Prefab损坏解决办法 把GUI.zip,解压,,替换.GUI下面的摄像机视野改成everything,Tag 改成 GuiCamera,GUI的所在层 改成default. 估计丢失原因是因为我来回切换

Unity版本所致。用上面办法解决即可。

手动重新生成wrap文件方法 删除Source/LuaWrap/下面的cs文件,Base目录及其下面文件千万别删,然后清除报错代码即可. 然后单击Lua/Gen LuaBinding Files生成新的wrap

文件即可

U5不推荐使用NGUI的原因 u5的新格式打包,ngui不支持,作者也不准备修复(让我高兴,自己改),老的打包函数又被标记丢弃,怎么看都有被抛弃的可能,再转可能就有很

大风险。所以新的项目推荐使用UGUI,框架已经有UGUI+U5新打包版本,地址:http://ulua.org/simpleframework.html 不支持部分:新版assetbundle中的prefab不能有拖拽脚本,NGUI里面哪个组建没有这个atlas拖拽脚本?没人自己愿意修改每个组建的atlas变成

GameObject吧???

苹果新政禁止开发者加入检查更新功能办法 主要停留在审核期,在服务器设定一个开关,审核期把检查更新功能关闭,审核期过了,再打开即可。

修改lua代码调用路径 如果使用Simpleframework框架的话,lua代码文件的位置在Util.cs类的LuaPath函数里面指定。

打印不出中文的bug 修改lua.cs, 搜索encoding.default , 改成utf8.

object contains non-primitive or xxx object contains non-primitive or non-blittable data的错误,这个是iOS il2cpp运行bug,请参考 http://ulua.org/simpleframework.html

SimpleFramework_v0.2.0 Patch1 补丁进行修改升级。

LuaWrap/xxxWrap.cs does nontain for ‘xx’ Assets/Source/LuaWrap/xxxWrap.cs(218,21): error CS1061: Type `UnityEngine.xxx' does not contain a definition for `xxx' and no

extension method `xxx' of type `UnityEngine.xxx' could be found (are you missing a using directive or an assembly reference?) 编译

错误解决方案:因为unity不同平台版本api各不相同,因此不是特别统一,遇到此问题直接删除错误代码即可。

ulua(安卓+ios),nlua(windows phone) ulua包含两种c模式(luajit版+原生luavm版),加之tolua c#提供了直接访问渠道。所以追求效率的,请选用ulua。但是ulua因为底层使用luajit

,而luajit目前不能在WP平台使用,所以如果ulua支持WP平台需要第二种原生luavm的底层库。 nlua包含2种模式(KeraLua c版本)(KopiLua c#版本),它支持全平台,因为c版本底层用的原始的luavm(非luajit)。但是缺少tolua c#的支持

,因此效率略低于ulua,但是支持WP平台(其他平台也支持)。

DllNotFoundException: ulua解决方案 (1)将plugins目录放到最外面,重启unity。 (2)缺失VC++ 2012 Runtime。 (3)mac运行期,不用选项ios平台。生成真机再选ios。 (4)真机没有打包libulua.so进包导致,或者模拟器也有些设置不对。打包的时候把libulua.so打包进libs\armeabi-v7a

LuaStudio 调试卡死 控制面板->用户账户->更改用户账户控制设置面板->始终通知 改为从不通知

attempt to index global 'UnityEngine' uaScriptException: [string "define.lua"]:1: attempt to index global 'UnityEngine' (a nil value) 解决:生成wrap文件。

EntryPointNotFoundException: 解决方案 EntryPointNotFoundException:这个类型错误不太单一,可选择下面2中方法解决:(方案1)把除了Assets跟ProjectSettings目录之外的都删除掉,

重新打开工程。 (方案2)如果在MAC上,选择IOS平台,很容易出现,切换到MAC/PC平台基本上就解决了,你不能要求在MAC下一定要运行IOS的动态库。

LuaStudio,请使用Administrator管理员权限,否则会挂死!!!

lua中用UIButton.current 确定单击哪个按钮

ulua学习笔记(二):官方资料及问题解决方案的更多相关文章

  1. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  2. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  3. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  4. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  5. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  6. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  7. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  8. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  9. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  10. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. 动态改变QSS

    通常,一旦设置使用setObjectName来初始设置QSS: list_widget = new QListWidget(); list_widget->setObjectName(" ...

  2. python学习笔记七--数据操作符

    一.Python表达式操作符及程序:

  3. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)5-----Assembly.Unload

    http://www.blogcn.com/user8/flier_lu/index.html?id=2164751&run=.04005F8 CLR 产品单元经理(Unit Manager) ...

  4. Emulator control为灰色的情况

    新建了一个虚拟机,然后发现Emulator control为灰色,让eclipse重启下就可以了,然后就可以使用了.

  5. [原]Unity3D深入浅出 - 物理引擎之碰撞体(Colliders)

    通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长 ...

  6. UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)

    题意: 知道矩阵的前i行之和,和前j列之和(任意i和j都可以).求这个矩阵.每个格子中的元素必须在1~20之间.矩阵大小上限20*20. 思路: 这么也想不到用网络流解决,这个模型很不错.假设这个矩阵 ...

  7. 【转】android开发工具Eclipse,androidStudio,adt网盘下载--不错

    原文网址:http://tools.android-studio.org/index.php/85-tools/109-android-tools-download

  8. window.location.search作用

    window.location.search.substr(1).split("&") 这里面的相关属性和时间还有参数能具体说明一下吗?window.location wi ...

  9. 查看各个release版本 golang的改动

    https://golang.org/doc/go1.1 https://golang.org/doc/go1.2 https://golang.org/doc/go1.3 https://golan ...

  10. (转载)【C++】new A和new A()的区别详解

    (转载)http://blog.csdn.net/xiajun07061225/article/details/8796257 我们在C++程序中经常看到两种new的使用方式:new A以及new A ...