lua State加载部分库】的更多相关文章

lua State加载部分库 在lua中,通常我们用luaL_openlibs(L)加载所有的lub标准库,但是有时候我们想只加载部分,有没有什么好的办法呢?在luaproc看到如下办法: static void registerlib( lua_State *L, const char *name, lua_CFunction f ) { lua_getglobal( L, "package" ); lua_getfield( L, -1, "preload" )…
[Q]原创 2015-08-30 在公司使用cocos2dx+lua 开发游戏有一段时间了,刚好lua的热更新交给我负责.以前热更新的lua脚本大部分都是在下载之后加载.最近策划又有新需求,需要在游戏过程进行如果有热更新需要提醒用户,也意味着在内存里的lua文件可能不是最新的.后来查到http://www.2cto.com/kf/201411/351833.html此博客发现lua原来加载到了一个package.loaded的缓存中,只要相应的将此设为空并require即可. 后来也就按照该博客…
前言 当前版本使用的是quick cocos2dx lua 3.3.UI使用cocostudio编辑器1.6.0.我们在程序里面可以使用两种方式进行解析UI.开始的时候用的是quick的方法, 结果遇到了坑(百分比控件布局CCSUILoader.lua在解析时,没有对百分比进行处理,结果方案可以自己加上去). 特别提醒: 如果在quick中使用源生的解析方案(c++),可能出现触摸bug.因为在quick中自己实现了新的触摸机制(详情请参考LuaTouchEventManager.h 中具体的实…
之前我写游戏加载都是从一个json文件写入要加载的文件名来实现加载,但是如果资源 比较多的情况下,会导致非常难管理,需要逐个写入.所以换了另外一种方式来加载文件. 首先,我是通过场景之前的切换时候,加载下一个场景的资源,避免一次加载导致内存占 用过大,所以,我将各个场景中的资源分开单独的文件夹,如果两个或多个场景有共用的 资源可以再开多一个共用的文件夹,两个场景切换的时候都加载.然后一个场景中的文件夹 下再细分成不同类型资源的文件夹,比如spine动画文件夹,spriteframe文件夹,tex…
在lua中,cocos2dx 建立的栈只能被一个线程(主线程)访问,如果在c++建立子线程,然后通过c++调用lua回调函数实现异步加载就会报错. 如果试图通过c++子线程直接实现加载资源,返回一个布尔值或者number类型通知lua实现回调,过程是不会显示问题,但c++开辟的子线程加载的 资源文件的内存地址,跟lua开辟的主线程加载资源文件的内存地址不一样,虽然已经加载,图片等资源信息已经存在代码内存中,但是主线程还是访问不到 资源内存,所以子线程加载的图片new 成Sprite都是黑色的.…
前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 init.lua other.lua 开始 模块默认一开始调用的是init.lua 咱让init.lua调用 other.lua 很简单 dofile("other.lua") 注意: 因为是init.lua 调用 other.lua 所以需要先下载 other.lua 然后再下载 init.lua 软件已启动便会 打开other.lua 然后调用 print("other") 现在看变量 记住一句话…
#ifndef __DazzleParkour__TextLoader__ #define __DazzleParkour__TextLoader__ #include <stdio.h> #include "cocos2d.h" #include "network/HttpClient.h" #include "CCLuaValue.h" using namespace cocos2d::network; using namespa…
问题:使用JqueryUIDialog 加载部分页,可以弹出对话框,但是在操作页面上的按钮是提示"dialog"找不到,思路是,先取到部分页加载到要dialog的Div上,在dialog出来,代码如下, 问题代码: $("#PushAisburse").click(function () { $.get("PushAisburse").success(function (data) { $("#dialog-form").ap…
lua加载函数require和dofile Lua提供高级的require函数来加载运行库.粗略的说require和dofile完成同样的功能但有两点不同: 1. require会搜索目录加载文件; 2. require会判断是否文件已经加载避免重复加载同一文件. 由于上述特征,require在Lua中是加载库的更好的函数. (一) require require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是一个目录列表.require的路径是一个模式列表,每一个模式指明一种由…
加载指定的模块.首先函数会在 package.loaded 这个表中查看是否已经加载 了 modname 这个模块.如果是,那么 require 会返回保存在 package.loaded[modname]的值.否则它将尝 试去查找一个加载该模块的加载器. require 是由 package.searchers 引导来查找加载器的 .修改 package.searchers 可以修改 require 查找模块的方式.下面的解释是基于默认配置的 package.searchers. requir…