在LuaFramework中实现按钮绑定C#事件和Lua事件(七)
本篇博客主介绍用Lua脚本通过代码去挂在Unity中的按钮事件。
挂载事件分为两种:
一种是挂载lua脚本的方法事件,另一种就是用lua脚本去给按钮挂载C#脚本的事件。
关于挂载方法LuaFramework框架已经在LuaBehaviour脚本(C#脚本)为我们写好,我们只需
要调用方法即可。
下面贴出挂载方法:
第一种:挂载Lua按钮事件
(1):在Panel 脚本里获取Button按钮。
(1):在Ctrl脚本里绑定注册事件。
运行效果:
第二种:用Lua脚本给按钮挂载C#事件
这个绑定法就有点难度的,我看了框架的一些方法,又试了一些方法,还是没能绑定上。
不过有句话说的好:自己动手,丰衣足食嘛。这点小问题怎么能难得到机智的博主呢。嘿~ 嘿 ~ 嘿~ !
其实框架连接的底层也就是通过封装映射,调用C#。所以我在结合了一下【Lua调用C#方法】,基于框架,
模拟了一下框架的调用,成功的实现了Lua用Lua脚本给按钮挂载C#事件。
原理:
哈哈,说了这么多其实很简单,一句话。
就是在Lua按钮事件里套C#事件进行调用。
咱们的目的不就是点击按钮调用C#按钮事件嘛,所以咱们直接把C#按钮事件放到Lua按钮事件里进行点击调用,不就完成绑定了吗,只要点击按钮,Lua按钮事件就会掉C#按钮事件方法,这样不就完成了Lua给按钮绑定C#事件了吗。
使用方法:
(1).如何在lua调用C#方法博主就不说了,就是通过映射,博主在【Lua调用C#方法】以经介绍过了。
下面我们开始实践:
1.在C#脚本里写个按钮事件,并映射到Lua
2.基于第一种方法,在Lua按钮事件里的调用一下映射好的C#方法。当你点击一次方法就被调用一次,从而实现了绑定。
运行结果:
这样就绑定成功了,是不是很简单呢。
当然如果大佬有更好的方法,请回复我,学海无涯,多一份知识,就多一份力量。
原创出品,转载请注明出处。
努力积才能,壹叶便成名。
- iOS代码实现:创建按钮,绑定按钮事件,读取控件值
- cocos2d-lua里 如何绑定按钮button的点击事件click
- C# WinForm webBrowser 内嵌网页的按钮的OnClientClick事件的return false 在webBrowser中绑定onclick事件后 失效 的变通解决办法
- Lua中实现类似C#的事件机制
- js实现快捷键绑定按钮点击事件
- Lua中实现类似C#的事件机制
- lua实现c#事件机制
- unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放技能
- Android为按钮控件绑定事件的五种实现方式
- jQuery实现按钮只点击一次后就取消点击事件绑定的方法
- Lua中实现类似C#的事件机制
- Lua中实现类似C#的事件机制
- Lua中实现类似C#的事件机制
- C#按钮控件数组绑定按钮时间和键盘操作事件
- Lua中实现类似C#的事件机制
- Uniyt热更新——LuaFrameWork学习(二)按钮点击事件
- jQuery实现按钮只点击一次后就取消点击事件绑定的方法
- 【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher
- unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放
- asp.net C#动态添加创建生成button按钮控件没有触发执行响应click绑定事件处理