|
背景
自己也是xlua新手,刚开始不知道如何从lua访问c#方法,然后google后,也是很普通需要在扩展类加上
[XLua.LuaCallCSharp],自己的确也是加了,但是在unity运行的时候还是不行,报nil
解决方式
经过一番尝试后,发现如果lua需要访问C#扩展方法,需要先清空代码,然后再重新生成,有更好的方式,欢迎留言交流
代码示例
C#
- [XLua.LuaCallCSharp]publicstaticclassEngineExt{staticpublicVector3ScreenToWorldPoint(thisRectTransform trans,Vector2 screenPoint,Camera cam =null){if(cam ==null){var cvs = trans.gameObject.GetUICanvas();if(cvs !=null){
- cam = cvs.worldCamera;}}Vector3 worldPos;
- RectTransformUtility.ScreenPointToWorldPointInRectangle(trans, screenPoint, cam,out worldPos);return worldPos;}}
复制代码 Lua
- local worldPos = this.heroObjTempl.RectTransform:ScreenToWorldPoint(scrnPos,nil)
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|