利用脚本 我已经成功绑定生成.cpp 和 .hpp文件 然后就是如下一种错误情况
#include “lua_testscene_auto.hpp”
#include “TestScene.h”
#include “tolua_fix.h”
#include "LuaBasicConversions.
int lua_testscene_TestScene_init(lua_State* tolua_S)
{
int argc = 0;
TestScene* cobj = nullptr;
bool ok = true;
#if COCOS2D_DEBUG >= 1
tolua_Error tolua_err;
#endif
#if COCOS2D_DEBUG >= 1
if (!tolua_isusertype(tolua_S,1,“TestScene”,0,&tolua_err)) goto tolua_lerror;
#endif
cobj = (TestScene*)tolua_tousertype(tolua_S,1,0);
#if COCOS2D_DEBUG >= 1
if (!cobj)
{
tolua_error(tolua_S,“invalid ‘cobj’ in function ‘lua_testscene_TestScene_init’”, nullptr);
return 0;
}
#endif
argc = lua_gettop(tolua_S)-1;
if (argc == 0)
{
if(!ok)
return 0;
bool ret = cobj->init();
tolua_pushboolean(tolua_S,(bool)ret);
return 1;
}
CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "init",argc, 0);
return 0;
#if COCOS2D_DEBUG >= 1
tolua_lerror:
tolua_error(tolua_S,"#ferror in function ‘lua_testscene_TestScene_init’.",&tolua_err);
#endif
return 0;
}
int lua_testscene_TestScene_create(lua_State* tolua_S)
{
int argc = 0;
bool ok = true;
#if COCOS2D_DEBUG >= 1
tolua_Error tolua_err;
#endif
#if COCOS2D_DEBUG >= 1
if (!tolua_isusertable(tolua_S,1,“TestScene”,0,&tolua_err)) goto tolua_lerror;
#endif
argc = lua_gettop(tolua_S) - 1;
if (argc == 0)
{
if(!ok)
return 0;
TestScene* ret = TestScene::create();
object_to_luaval<TestScene>(tolua_S, "TestScene",(TestScene*)ret);
return 1;
}
CCLOG("%s has wrong number of arguments: %d, was expecting %d\n ", "create",argc, 0);
return 0;
#if COCOS2D_DEBUG >= 1
tolua_lerror:
tolua_error(tolua_S,"#ferror in function ‘lua_testscene_TestScene_create’.",&tolua_err);
#endif
return 0;
}
int lua_testscene_TestScene_createScene(lua_State* tolua_S)
{
int argc = 0;
bool ok = true;
#if COCOS2D_DEBUG >= 1
tolua_Error tolua_err;
#endif
#if COCOS2D_DEBUG >= 1
if (!tolua_isusertable(tolua_S,1,“TestScene”,0,&tolua_err)) goto tolua_lerror;
#endif
argc = lua_gettop(tolua_S) - 1;
if (argc == 0)
{
if(!ok)
return 0;
cocos2d::Scene* ret = TestScene::createScene();
object_to_luaval<cocos2d::Scene>(tolua_S, "cc.Scene",(cocos2d::Scene*)ret);
return 1;
}
CCLOG("%s has wrong number of arguments: %d, was expecting %d\n ", "createScene",argc, 0);
return 0;
#if COCOS2D_DEBUG >= 1
tolua_lerror:
tolua_error(tolua_S,"#ferror in function ‘lua_testscene_TestScene_createScene’.",&tolua_err);
#endif
return 0;
}
static int lua_testscene_TestScene_finalize(lua_State* tolua_S)
{
printf(“luabindings: finalizing LUA object (TestScene)”);
return 0;
}
int lua_register_testscene_TestScene(lua_State* tolua_S)
{
tolua_usertype(tolua_S,“TestScene”);
tolua_cclass(tolua_S,“TestScene”,“TestScene”,"",nullptr);
tolua_beginmodule(tolua_S,"TestScene");
tolua_function(tolua_S,"init",lua_testscene_TestScene_init);
tolua_function(tolua_S,"create", lua_testscene_TestScene_create);
tolua_function(tolua_S,"createScene", lua_testscene_TestScene_createScene);
tolua_endmodule(tolua_S);
std::string typeName = typeid(TestScene).name();
g_luaType = "TestScene";
g_typeCast"TestScene"] = "TestScene";
return 1;
}
TOLUA_API int register_all_testscene(lua_State* tolua_S)
{
tolua_open(tolua_S);
tolua_module(tolua_S,"cc",0);
tolua_beginmodule(tolua_S,"cc");
lua_register_testscene_TestScene(tolua_S);
tolua_endmodule(tolua_S);
return 1;
}