cocos2d-x lua代码臃肿,有没有解决方案?客户端动态更新其他好建议吗?

王敬哲 发布于 2014/06/10 00:29
阅读 1K+
收藏 0

近期开始学习并使用lua。软件分层的思想全世界可以用。但是纯lua的开发模式实现却很难使用多态和封装,也许是我水平低。面临的实际问题却是代码臃肿,不断的循环遍历(我在做解析文本)。我有些朋友:1、纯lua开发,2、其他脚本开发,3、纯C++开发 4、lua解析文本,C++实现核心模块。对于第4种的使用我不是很理解,怎么样在cocos2dx上面实现C++/lua完全交互?是不是以放弃动态更新问代价?

另外补充一个问题:lua等纯脚本开发对于C++进阶是不是一场噩梦?我个人觉得依靠继承多态实现的C++设计模式无用武之地,而项目组构造的lua框架中忽略了格式说明等问题。lua、ruby、Python这些可拓展性的脚本虽然入门简单,当应该是高手才能正确使用的吧。像有个朋友利用Python动态生成C++代码并且编译运行,最后效率比原生的python高多了(某个功能模块)。而纯lua脚本应用于客户端开发的代码可维护性相比于纯C++是怎么样?——项目组客户端员工工资水平7k,广州。求主程大神解惑,拜谢啦

加载中
0
liyong2
liyong2

其实主要问题是 c++ 是静态类型语言 做设计的时候 喜欢先设计一个类,然后去写代码,无论类设计的怎么样,都会有满满的成就感,毕竟代码挺多的。而lua这种动态语言,可能无法体现设计类的成就感了,这时候可以去从设计业务流程着手。如何完成一个功能,功能分成几步这样来做。

设计模式跟语言没有关系。

如果觉得写循环层次比较low, 可以尝试写递归,满满的成就感。


王敬哲
王敬哲
我正在尝试着从业务流程着手,lua的api又不是很熟,用起来一堆抵触感,至今不知道怎么重载CCTouchBegan
0
logbird
logbird

quick-x

可以试试

quick.cocoachina.com

王敬哲
王敬哲
回复 @logbird : 如果纯C++我还是能理解,当时lua的api再包装过后,发现心里有点怕怕,不知道自己用法是不是正确的,没有了编译检测这步,真担心在代码中有隐患
logbird
logbird
@王敬哲 Cocos2dx 的那些类 就是听变态的
王敬哲
王敬哲
只能说我水平不够吧。现在用的就是quick开发。看不懂继承的状态呢
0
liyong2
liyong2
重载是c++中 扩展类时使用的, 而c++中cctouchbegan 预留了接口,调用lua的touch 方法, 只需要把lua接口注册进去就好了。 这种注册lua接口的函数一般 叫做registerxxx 。
0
王敬哲
王敬哲

引用来自“李勇2”的评论

重载是c++中 扩展类时使用的, 而c++中cctouchbegan 预留了接口,调用lua的touch 方法, 只需要把lua接口注册进去就好了。 这种注册lua接口的函数一般 叫做registerxxx 。
问题问的不清楚,但是这个答案对我帮助比较大。谢谢啦。之前就想重载CCtouchbegan一直搞不定
返回顶部
顶部