@yubifeixian 写道:
先说重点:creator退散
以前一直用-js,现在想转lua
以前以为js分为html5和jsb,十分混乱,想说转lua会好点,没想到lua还分-lua和quick……
貌似-lua和quick是合并了可以混用(比如display.newscene等同于cc.Scene:cereate??),可是我应该如何区别这些方法?因为经常百度一个问题,网上能搜到各种不同的代码却很少有人说这到底是lua的还是quick的
(事实上以我从js转lua的情况,我觉得我还是更想学原生lua那套,不想用quick,所以我是想把搜到的跟quick相关的结果排除出去)
好吧,眼前最大的困惑其实有两个:
1、调用函数用点号还是冒号:
lua手册里的区别我看过了,无非就是冒号会隐式传入self当第一个参数。可是cocos的api(http://api.cocos.com/)里我怎么知道这个函数是改用点号还是冒号调用?(比如cc.Scene:create(),我不知道为啥create方法需要传一个self进去……)再比如,label有一个createWithSystemFont方法,该方法在api里的描述是:
createWithSystemFont ( local text, local font, local fontSize, local dimensions = Size::ZERO, local hAlignment = TextHAlignment::LEFT, local vAlignment = TextVAlignment::TOP )
是我必须先戳到lua源码里去看函数定义时用的是点号还是冒号吗?
2、lua读取studio(好吧我知道官方放弃了studio,但我用的是3.10版本的引擎,依旧还想继续用studio)导出的csb文件之后,如何查找子控件?目前我用的方法是:
`function MyScene:createLayer() local _layer=cc.Layer:create() local _root=cc.CSLoader:createNode("res/Layer.csb") _layer:addChild(_root) --local _panel=_root:getChildByName("Button_1"); --printf(_panel==nil) local _btn=ccui.Helper.seekWidgetByName(_root,"Button_1") return _layer end`
这里seekWidgetByName会报错,因为_root是node而不是widget,如何才能将csb读取转成widget?
帖子: 1
参与者: 1