前言:又是N久没上来了,也没什么新鲜话想说。反正最近是被杭州的房价憋得抑郁,但是也是只能对自己说要“蛋腚”!今天又被这个lua调用DLL给抑郁了一把,还好网上搜来搜去,终于搜到一位“有识之士”的帖子,帮我搞定了这个“憋屈”的问题。最近很懒,懒得写东西。   Lua调用C的DLL的例子网上也不是很多,其实要说很多的话,转帖是大部分的形式,有好有坏吧。转得多了,倒是让人看得郁闷,因为搜了半天
0. 照旧的碎碎念转眼间已经三月了,2月份的博客因为过年的懒惰和开年之后的忙碌而没有写……第二个月就打破了去年总结时对于2018年的愿望,真是羞耻呢……年后在准备新的测试版本,断断续续做了一些优化,更多的精力放在团队的绩效评估、沟通这样偏管理的事物上,说实话技术上可以聊的东西不多。近期看到UWA群里和问答上聊Lua的使用之类的话题比较多,也在看ET这套完全基于C#进行游戏开发的框架中提到——
前段时间在项目中试加入了lua脚本,但由于匆忙很不完善,没有任何的调试信息,包括出错信息的打印,所以很是痛苦!最近终于开始着手完善lua程序,只是从没用过,一切都是从头学起! 首先是载入脚本的时候:luaL_dofile(m_lua, pathname.c_str()); 如果是lua脚本的语法等基本错误,这时候luaL_ dofile会返回错误码,但想知道错误信息就必须看堆栈了。 其实查看文档
      先来说下大致脚本引擎框架,此次采用如下,即运行C++代码启动程序,然后加载Lua脚本执行!1.基础   Lua脚本中只能调用 int (*lua_CFunction) (lua_State *L) 这种类型的C/C++函数;   所有的C/C++函数如果要给Lua进行调用,只能用这样的函数来封装;  &nb
转载 5月前
52阅读
一、前言基于redis实现分布式锁,其实有很多,基于 redisson,基于 jedis,等都可以实现,springBoot 默认提供 redis 操作工具 redisTemplate ,我们可以基于它配合lua 进行实现。简单业务场景不需要使用 redissonredisson本身其实是基于lua脚本来保证原子性的,使用redisson需要额外引用依赖,还要单独去配置,还要增加学习成本去了解re
转载 2023-08-17 11:02:43
692阅读
EditorUtility 编辑器工具转自:,请查看原文,尊重楼主原创版权。这是一个编辑器类,如果想使用它你需要把它放到工程目录下的Assets/Editor文件夹下。编辑器类在UnityEditor命名空间下。所以当使用C#脚本时,你需要在脚本前面加上 "using UnityEditor"引用。1.ProgressBar 进度条在Editor文件夹中添加脚本: using Unity
1,Githup上下载Xlua框架; 2,解压,将Assets文件夹下的文件复制在工程中 默认可以在生命周期函数OnDisAble中释放虚拟机。 第一种加载Lua文本方式《创建lua后缀为: .lua.txt》 第二种执行lua文本的方式《require会自动查找Resources文件下名字为lua1的文件》第三种自定义加载路径《项目用的比较多》 获取lua脚本中的变量; C#获取lua的Tabl
转载 4月前
32阅读
##现在使用unity+lua开发的模式在手游中已经十分流行了。他们之间的连接工具也很多,作为一只小白,也走过一些坑。现把经验写下 希望能帮助同样一点没有经验的人或回头可以再看自己走过的历程。 #下载tolua https://github.com/topameng/tolua ##下载之后将文件解压,tolua-master 里面的内容是我们需要的。将内容放到当前工程里。 #c# lua如何互相
1、Transform组件Transform组件控制游戏对象在Unity场景中的位置、旋转和大小比例,每个游戏对象都包含一个Transform组件。在游戏中如果想更新玩家位置,设置相机观察角度都免不了要和Transform组件打交道。 Transform组件的成员变量成员变量说明position世界坐标系中的位置localPosition父对象局部坐标系中的位置eulerAngles世界
感觉学习的笔记还是放在网上查询的时候比较方便,文章初看会感觉很难理清,需要耐心去看,对不起自己对不起翻到我文章的同学,不废话直接上代码。1.C#调用Lua (耐心!耐心!耐心!)using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; //这个示
本篇主要讲解下c如何调用Lua的,即c作为宿主语言,Lua为附加语言。c和Lua之间是通过Lua堆栈交互的,基本流程是:把元素入栈——从栈中弹出元素——处理——把结果入栈。关于Lua堆栈介绍以及Lua如何调用c参考其他两篇。1. 加载运行Lua脚本通过luaL_newstate()创建一个状态机L,c与Lua之间交互的api的第一个参数几乎都是L,是因为可以创建多个状态机,调用api需指定在哪个状
今天我们来学习一下Lua中的迭代器:Iterator。     迭代器是一种可以遍历集合中所有元素的机制。在Lua中,通常将迭代器表示为函数,每调用一次函数,即返回集合中的下一个元素。     每个迭代器都需要在每次调用中保持一些状态,这样才可以知道它所在的位置以及如何进入到下一步。Closure为这类任务提供了很好的
转载 4月前
19阅读
对于手机游戏,如果可以在线更新以实现bug修复、新功能添加等等,其好处自不必多说。通过C#的反射机制,也可以实现某种程度上的脚本级更新但其中也明确指出了在iOS上不支持反射。所以很自然的,想到使用Lua、Python等脚本语言来解决需求。撇开Python不讲(感兴趣的可以搜索UniPython),来看Lua。因为Lua本身使用C语言实现,具有良好的跨平台特性,但我们使用C#来作为主要开发语言,要实
作者:zilch Lua是一种嵌入式脚本语言,可以方便的与c/c++进行相互调用。但是Unity中主要是用c#进行开发的,因此在Unity中使用Lua通常有以下两种方案:使用c#实现一个lua虚拟机 基于原生的c lua api做一个封装,让c#调用从性能上考虑,当前主流方案都是第二种。基于第二种方案实现的框架目前主要有xLua,sLua,uLua,NLua(+KeraLua)。在这些方案中,都
 1.介绍LuaInterface 是 Lua 语言和 Microsoft.NET 平台公共语言运行时 (CLR) 之间的集成库。很多语言已经有面向 CLR 编译器和 CLR 实现,已经存在为微软windows、 BSD 操作系统和 Linux 操作系统。Lua是一个为扩展应用程序而设计的编程语言,解释执行,很容易嵌入的库。详细的信息可以参考Lua'sreference manual。下
这段时间工作的强度有所下降,倒不如说恢复到正常的工作强度,因此也给了自己一点时间去了解下其他之前没有了解过的语言——python和lua。 这两个语言,一个是号称“人生苦短,我用python”,另一个则是上到魔兽,下到愤怒的小鸟运用的脚本语言,所以都有其一定的代表性。各自编写了一个导表工具之后,在我看来,这两个语言就好像两个极端一样:当你要制作某个设备时,你是用已经能制作出现成零件的工厂,还是要
转载 2023-09-07 15:05:47
185阅读
一、引言上一周应该某个特殊需求。需要在服务器端搭建一个lua执行环境。lua本身又是嵌入语言。在语言本身上又一定的局限性。所以我打算把lua嵌入到python/java中。做调研的时候,java的嵌入较为麻烦,出现了各种问题。后来确定用python来作这个环境。这样能用上python 的协程、多线程。这里说说python中嵌入lua的问题。二、环境建立python中又一个扩展叫lupa。这个扩展用
本文介绍SpringBoot如果通过Lua脚本去执行Redis,介绍简单用法例子,如对Lua脚本还不了解的可以先参考我这边文章Lua脚本快速入门更深层次的用法请参考Redis官网1. 添加依赖2. 编写Lua脚本3. 编写配置/** *@authorGjing **/ @Configuration publicclassLuaConfiguration{ @Bean publicDefaultRe
# Java调用Lua脚本 Lua是一种轻量级的脚本语言,广泛应用于游戏开发、嵌入式系统和脚本扩展等领域。Java作为一种强大的编程语言,可以通过调用Lua脚本来增加灵活性和扩展性。本文将介绍如何使用Java调用Lua脚本,并提供相应的代码示例。 ## LuaJava介绍 LuaJava是一个用于在Java代码中调用Lua脚本的库。它提供了与Lua脚本的交互接口,使得Java能够通过Lua
原创 2023-07-31 15:05:19
1141阅读
## 实现Java调用Lua脚本的流程 为了实现Java调用Lua脚本,我们需要按照以下步骤进行操作: | 步骤 | 操作 | | --- | --- | | 1 | 引入Lua的依赖库 | | 2 | 创建LuaState对象 | | 3 | 加载Lua脚本文件 | | 4 | 调用Lua函数 | | 5 | 获取Lua函数返回值 | 接下来,我将详细介绍每个步骤需要做的操作,并提供相应的
原创 11月前
188阅读
  • 1
  • 2
  • 3
  • 4
  • 5