Esempio n. 1
0
bool InitXLUE()
{
    //初始化图形库
    XLGraphicParam param;
    XL_PrepareGraphicParam(&param);
	long result = XL_InitGraphicLib(&param);
    //初始化XLUE,这函数是一个复合初始化函数
    //完成了初始化Lua环境,标准对象,XLUELoader的工作
	param.textType = XLTEXT_TYPE_FREETYPE;
	result = XL_SetFreeTypeEnabled(TRUE);
    result = XLUE_InitLoader(NULL);

	//设置一个简单的脚本出错提示
    XLLRT_ErrorHandle(LuaErrorHandle);
    return true; 
}
Esempio n. 2
0
bool InitXLUE()
{
	XLFS_Init();

	XLGraphicParam param;
	XL_PrepareGraphicParam(&param);
	param.textType = XLTEXT_TYPE_FREETYPE;
	XL_InitGraphicLib(&param);

	XL_SetFreeTypeEnabled(TRUE);

	XLUE_InitLoader(NULL);

	// 设置脚本错误回调
	XLLRT_ErrorHandle(&LuaErrorHandle);

	return true;
}
Esempio n. 3
0
extern "C" __declspec(dllexport) void RunLua(wchar_t* szLuaPath)
{
	XLLRT_ErrorHandle(LuaErrorHandle);

	XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL);
	if (hEnv == NULL)//初始化LUA环境
	{
		hEnv = XLLRT_CreateEnv(NULL);
		XL_LRT_RUNTIME_HANDLE hRuntime = XLLRT_CreateRunTime(hEnv, NULL, 0);
		TSDEBUG4CXX(L"XLLRT_GetEnv error! XLLRT_CreateEnv hEnv = " << hEnv << L", XLLRT_CreateRunTime hRuntime = " << hRuntime);
	}
	if (NULL == hEnv)
	{
		TSDEBUG4CXX(L"XLLRT_GetEnv error!  hEnv == NULL");
		return ;
	}
	// 初始化接口
	LuaGSUtil::RegisterObj(hEnv);
	LuaAsynUtil::RegisterSelf(hEnv);
	XLLRT_ReleaseEnv(hEnv);

	
	hEnv = XLLRT_GetEnv(NULL);
	XL_LRT_RUNTIME_HANDLE hRuntime = XLLRT_GetRuntime(hEnv, NULL);
	XL_LRT_CHUNK_HANDLE hChunk = NULL;
	XLLRT_CreateChunkFromFile(::PathFindFileName(szLuaPath), szLuaPath, &hChunk);
	if (hChunk != NULL)
	{
		XLLRT_RunChunk(hRuntime, hChunk);
	}
	if (hChunk != NULL)
	{
		XLLRT_ReleaseChunk(hChunk);
		XLLRT_ReleaseRunTime(hRuntime);
		XLLRT_ReleaseEnv(hEnv);
	}
	return;
}