先点按钮A,node位置变了,再点按钮B,会发现node又跑回原位置了,哈哈。 总结:要在相对定位的Panel里用程序动态改变位置,避免使用setPosition(),而依然要使用LayoutParameter的setMargin()方法,只不过,还要再对Panel做一下requestDoLayout()调用,通知Panel去重新梳理一遍子节点...
如果要用代码控制一个在相对布局Panel里的UI控件的Position位置,那么只能用修改其LayoutParameter的方法才行,普通的setPosition()不起作用: node:getLayoutParameter():setMargin({ left = 0, right = 0, top = 0, bottom = 0}) 注意,必须是调用setMargin()方法才行,而像getMargin().left = 0这样的写法是...
uiNode:addTo(self) 可以参考GUIReader.lua 或者\cocos\editor-support\cocostudio CCSGUIReader.h (GUIReader.lua 是c++绑定到lua 时生成的api) 2.读取控件 这里控件的解析我们使用的是Helper ,可以参考 api Helper.lua 和具体的c++类Helper.h ---@module Helper--@parent_module ccui---brief Get a UTF8 s...
该方法将cocos2dx_lua_loader方法添加到Lua全局变量package下的loaders成员中//当requires加载脚本时,Lua会使用package下的loaders中的加载器,即cocos2dx_lua_loader来加载//设定cocos2dx_lua_loader,可以使得我们自定义设置搜索路径相关,且拓展实现对脚本的加密解密相关addLuaLoader(cocos2dx_lua_loader);returntrue;...
其实这些区别归因于cocos2dx lua对应API版本号的问题,因为以前cocos用cocos2d-lua写,后来带领大家往quick转,现在合并后,又带领大家回到cocos-lua,所以必定会产生一些规范和版本号的区别。 尤其在2.x和3.x之间…
cocostudio是可以直接把csb文件导出成lua的,而lua本身又可以再一次压缩luac,这看起来效率还可以 试着测试这样一个简单结构的item,创建100个这东东: local a = require("testItem").create().root:getChildByName("panel_base"); local osClock1 = os.clock(); ...
local widget = layout:getChildByName(v) widget:setTouchEnabled(true) local widgetx, widgety = widget:getPosition() widget:setPosition(widgetx, widgety*scaley) CCLuaLog(“widgetx, widgety*scaley = “..widgetx..”“..widgety*scaley)
想要解密.lua文件,了解coco2d-x加载Lua的流程必不可少 参考官方Docs,搭建所需环境 由于Android的应用层是从Activity开始的,也就是创建完一个Cocos2dx后src文件夹下的Java文件,其中主要看Activity创建时的操作 这个方法很简单,就只调用了父类Cocos2dxActivity的onCreate方法 ...
每一个IWindow类,都包含其自身的根面板(CCLayer)和众多依附在其上的子UI控件。通过IWindow,我们实现了对所有UI布局Layout进行统一的接口调用和处理,如初始化加载、消息注册与响应、隐藏/显示、销毁等。 虽然我们在之前的多个项目开发中提倡将窗口的逻辑实现全部交给动态语言(Python&Lua)来实现,但对于某一些UI功能,...
quick-cocos2d-x 学习系列之七 drag,quick-cocos2d-x学习系列之七drag 该例主要是演示drag拖动的一些方法。主要是两个文件。 一个DragScene.lua场景文件,一个UIDrag.lua。两个文件的量都不小,那我们来细细品下吧。1. DragScene该场景定义个四个颜色C1,C2