1、在visual studio中创建一个项目,.net framework的控制台程序或者winform程序都可以(visual studio2019默认程序是64位),进入项目后点击工具->Nuget包管理器->管理解决方案的Nuget程序包

2、在Nuget包管理界面,点击浏览->输入"slua"->选择slua standalone,在右边勾选刚才创建的项目名称,点击安装

3、安装完成后,可以看到项目内多出了一个lib文件夹,作者在其下分别维护了64位版本和32位版本,visual studio2019默认程序是64位

4、点击生成->生成解决方案,项目将进行编译

5、编译完成的项目在\bin\Debug文件夹下(忽略exe名字,那是我在创建项目的时候填错了),文件夹下有slua.dll和slua-standalone.dll,这里的slua.dll版本与项目的版本一致,默认64位,更改导出平台为x86可变为32位

6、创建godot项目,在项目下的\.mono\temp\bin\Debug将slua.dll和slua-standalone.dll复制到这里
如果godot引擎是32位,slua.dll也应是32位
如果godot引擎是64位,slua.dll也应是64位

7、在godot项目中布置UI用于测试,添加一个脚本,点击MSbuild->build->build solution,此时项目根目录应有.sln文件和.csproj文件

8、在项目根目录找到并打开.csproj文件,添加
<ItemGroup>
<PackageReference Include="slua-standalone" Version="1.0.67" />
</ItemGroup>

9、其中的PackageReference是来自C#官方Nuget的链接
10、在vs code下面的终端中输入
dotnet restore
回车执行,vscode将自动修复项目对slua的引用
如果在visual studio中直接安装nuget包的话,将缺失slua-standalone.dll,需要手动补充

11、引用slua,不报错说明已经可以正常使用slua了
slua standalone与slua unity不一样,因为缺乏自动导出接口,所以不能像slua unity那样使用import "UnityEngine"的方法来使用import "Godot",会报错
算是个缺点吧
简单的代码,用于C#与lua交互

12、lua部分,写了一个函数给C#调用
13、C#通过slua运行lua文件并调用lua中的函数,lua的函数返回字符串给C#,最后C#将返回的字符串赋值给Godot的Label


2、在Nuget包管理界面,点击浏览->输入"slua"->选择slua standalone,在右边勾选刚才创建的项目名称,点击安装

3、安装完成后,可以看到项目内多出了一个lib文件夹,作者在其下分别维护了64位版本和32位版本,visual studio2019默认程序是64位

4、点击生成->生成解决方案,项目将进行编译

5、编译完成的项目在\bin\Debug文件夹下(忽略exe名字,那是我在创建项目的时候填错了),文件夹下有slua.dll和slua-standalone.dll,这里的slua.dll版本与项目的版本一致,默认64位,更改导出平台为x86可变为32位

6、创建godot项目,在项目下的\.mono\temp\bin\Debug将slua.dll和slua-standalone.dll复制到这里
如果godot引擎是32位,slua.dll也应是32位
如果godot引擎是64位,slua.dll也应是64位

7、在godot项目中布置UI用于测试,添加一个脚本,点击MSbuild->build->build solution,此时项目根目录应有.sln文件和.csproj文件

8、在项目根目录找到并打开.csproj文件,添加
<ItemGroup>
<PackageReference Include="slua-standalone" Version="1.0.67" />
</ItemGroup>

9、其中的PackageReference是来自C#官方Nuget的链接

10、在vs code下面的终端中输入
dotnet restore
回车执行,vscode将自动修复项目对slua的引用
如果在visual studio中直接安装nuget包的话,将缺失slua-standalone.dll,需要手动补充

11、引用slua,不报错说明已经可以正常使用slua了
slua standalone与slua unity不一样,因为缺乏自动导出接口,所以不能像slua unity那样使用import "UnityEngine"的方法来使用import "Godot",会报错
算是个缺点吧
简单的代码,用于C#与lua交互

12、lua部分,写了一个函数给C#调用

13、C#通过slua运行lua文件并调用lua中的函数,lua的函数返回字符串给C#,最后C#将返回的字符串赋值给Godot的Label
