栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Cocos2d-x

SLua踩坑指南:expect self, but get null

Cocos2d-x 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SLua踩坑指南:expect self, but get null

报错Lua脚本如下:

import "UnityEngine"

local aa = FinderFactory:GetInstant()

aa.Generate("")

报错如下:

[string "..."]:4: System.Exception: expect self, but get null

at SLua.LuaObject.checkSelf (IntPtr l) [0x00014] in E:ARMasterUnityGitARMasterUnityAssetsPluginsSlua_ManagedLuaObject.cs:1354

at Lua_FinderFactory.Generate (IntPtr l) [0x00003] in E:ARMasterUnityGitARMasterUnityAssetsSluaLuaObjectCustomLua_FinderFactory.cs:39

stack traceback:

[C]: in function 'assert'

[string "..."]:4: in function 'Generate'

[string "temp buffer"]:10: in main chunk

出错原因:

Lua脚本中,调用函数应该用冒号,而我用的点

Lua中,点和冒号的区别:点击查看点和冒号的区别

由这个错误延伸开的:

expect self,but get null,报这个错误的原因是什么呢?

根据点和冒号的区别,我们可以知道我报错的原因是用了点,却没有传入对象,所以他找不到对象。通过跟进代码,可以看到在checkSelf方法的时候,函数根据内存地址(虽然没有传这个参数,但竟然有值)去SLua.ObjectCache中寻找,找不到,报了这个错。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/896504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号