Lua
文章平均质量分 84
HCVS
这个作者很懒,什么都没留下…
展开
-
Lua _G表 和 _ENV表
但前面说过,对全局变量的访问实际上都是访问 _Env,当 _Env被修改后,当然全局环境也就改变了。_ENV的主要用途是改变代码段使用的环境,一旦改变了环境,所有的全局访问就都使用新表,如果新环境是空的,那么就会丢失所有的全局变量,包括print在内。在使用C#的时候,所有的变量都需要先声明才能够使用,而Lua并不需要,这虽然比较方便,但也容易造成难以发现的。方法,因为我们在表中引用未声明的全局变量时,会将该变量加入到 _Env表中,若该表中不存在,则会调用它的。),它的作用域默认是整个程序。转载 2022-10-26 11:32:41 · 606 阅读 · 0 评论 -
用好lua+unity,让性能飞起来——lua与c#交互篇
在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很多。因此,这篇文章是从一堆简单的优化建议里头,逐步挖掘出背后的原因。转载 2022-10-24 15:04:10 · 874 阅读 · 0 评论 -
Unity3D热更新技术点——ToLua(下)
Tolua集成主要分为两部分,一部分是运行时需要的代码包括一些手写的和自动生成的绑定代码,另一部分是编辑器相关代码,主要提供代码生成、编译lua文件等操作,具体就是Unity编辑器中提供的功能。中我们通过一个小的案例,介绍了ToLua在Unity中的基本使用方法,而这次,我们将通过一个更为复杂的例子,继续深入了解ToLua的使用方法及其原理。开始游戏界面完成后,我们就着手于游戏主场景,首先我们可以新建场景,使用plane、cube等基础物体,搭建一个简单的跳一跳场景。在之前,我们已经导入了Tolua资源。转载 2022-10-23 18:20:10 · 919 阅读 · 0 评论 -
Unity3D热更新技术点——ToLua(上)
然而c#是一门编译型语言,其运行之前需要进行编译,而编译的过程在移动平台无法完成,所以当我们游戏的逻辑更改,代码发生变化时,我们就需要重新在开发环境下编译,然后重新打包,让玩家下载最新版本。Tolua是Unity静态绑定lua的一个解决方案,它通过C#中集成lua的插件,可以自动生成用于在lua中访问Unity的绑定代码,并把C#中的常量、变量、函数、属性、类以及枚举暴露给lua。在了解了基本的热更新概念,及ToLua资源的加载后,我们通过一个小的案例,来初步的掌握ToLua在Unity中的使用方法。转载 2022-10-23 18:10:28 · 1268 阅读 · 0 评论 -
windows下编译lua源码
windows下编译lua源码原创 2022-10-21 18:11:44 · 412 阅读 · 0 评论 -
Lua性能优化技巧
当处理Lua资源时,我们也应该遵循提倡用于地球资源的3R原则——Reduce, Reuse and Recycle,即削减、重用和回收。转载 2022-10-21 14:24:36 · 651 阅读 · 0 评论