UnLua
文章平均质量分 52
UnLua
axin7c8
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UnLua实现多态
多态其实就是子类重写父类的函数,在运行时,如果通过父类对象调用函数,实际上会根据子类的实际类型调用子类中重写的函数。最后调用子类的SpawnBall,传进去的self是00000BAD9C969F80,也是子类的self。再调用父类的构造函数,父类的self地址是00000BADB6068600,与子类的self不一样。再调用父类的构造函数,父类的self地址是00000BAD9C969F80,即子类的self。只调用子类的构造函数,并没有调用父类构造函数,所以SpawnBall也没有调用。原创 2024-10-20 17:46:31 · 640 阅读 · 0 评论 -
UnLua实现继承
2、在子类中设置父类文件名,重写父类函数,并显示调用父类函数。2、创建子类蓝图,如果先创建的子类,可以修改父类继承。4、打印,先执行子类方法,然后执行父类方法。1、创建父类,并绑定Lua脚本。注意,提示选择继承父类的接口!1、在父类Lua脚本中实现函数。原创 2024-09-22 09:39:44 · 880 阅读 · 0 评论 -
UnLua扩展接口
注意,接口不需要绑定Lua,也没有Bind按钮。1、创建BlueprintInterface。原创 2024-09-22 08:51:22 · 526 阅读 · 0 评论 -
UnLua扩展C++函数和蓝图自定义事件
5、如果在Lua中没有重写LuaNative函数,则会调用C++中的LuaNative_Implementation中LuaImp函数,输出“this is a function implements C++”2、在Lua中重写BP_EventTest函数,需要注意的是Lua中把ReceiveBeginPlay函数注释掉,蓝图的EventBeginPlay才会生效。6、如果在Lua中重写了LuaNative函数,就会调用Lua中的LuaNative函数,输出“Native Event”原创 2024-09-19 14:48:03 · 815 阅读 · 0 评论 -
UnLua访问C++属性、动态生成Actor
2、在继承自C++的蓝图子类BP_BaseActor中给Name赋值。1、在C++类MyBaseActor中新增蓝图可编辑属性:Name。3、在Lua中实现点击按钮动态生成Actor,并访问其Name属性。原创 2024-09-19 13:10:54 · 746 阅读 · 0 评论 -
UnLua调用蓝图变量、动画、函数
1、在蓝图中声明一个String类型变量title。1、在蓝图中制作按钮btnTest。2、在Lua中绑定该按钮的点击事件。1、在蓝图中定义播放UI动画的函数。默认值为MyFirstTitle。1、在蓝图中制作UI动画。2、在Lua中播放该动画。2、在Lua中调用该函数。2、在UnLua中调用。原创 2024-09-09 17:25:30 · 1218 阅读 · 0 评论 -
UnLua调用C++函数
2、新建蓝图类BP_BaseActor,继承C++类MyBaseActor,绑定Lua脚本BP_BaseActor.lua。1、新建C++类MyLuaUtils,继承BlueprintFunctionLibrary,实现全局静态函数GetInt。3、将蓝图BP_BaseActor拖到场景中创建一个实例,运行查看Log,每帧都在成功输出。1、新建C++类MyBaseActor,继承Actor,实现GetIndex成员函数。3、运行查看Log。原创 2024-09-08 15:08:28 · 876 阅读 · 0 评论 -
UnLua环境搭建
1、下载UnLua工程:https://github.com/Tencent/UnLua。1、新建UMG蓝图WBP_FirstLua,打开并点击右上角UnLua->Bind按钮。3、点击Create Lua Template按钮,即可生成与蓝图绑定的Lua代码文件。4、打开VS工程的项目名.Build.cs文件,引用UnLua插件,重新编译工程。2、复制Plugins/UnLua目录下的插件到自己的项目中。2、打开这个函数并填写模块名字,即Lua文件名。3、重新生成自己的VS工程。而且生成了一个接口函数。原创 2024-09-07 16:12:21 · 984 阅读 · 0 评论
分享