新手关于 Cocos2dx lua

本人刚刚开始接触cocos2dx-lua,在网上找到一个学习资源,视频里面通过修改MainScene.lua(视频里面是mac系统,我在windous系统)在窗口显示一个矩形。修改代码如下,因为本来没有MainScene:ctor()我自己创建了一个。结果我运行后显示不出来,而且gl verts和calls会无限增大,是怎么回事?
代码:
local MainScene = class(“MainScene”, cc.load(“mvc”).ViewBase)

MainScene.RESOURCE_FILENAME = “MainScene.csb”

–function MainScene:onCreate()
– printf(“resource node = %s”, tostring(self:getResourceNode()))
–end

function MainScene:ctor()
local rect = display.newDrawNode();
rect:drawRect(cc.p(0,0),cc.p(300,300),cc.c4f(1.0,0,0,1.0))
self:addChild(rect);
end

return MainScene

输出结果是除了左下角的gl verts和calls 其他一片黑

本人超级小白,我在想是不是我哪里理解错了:12:

你这个代码没问题啊:10:

但是我运行了以后显示不出来,我看了下那个视频教程后面,发现很他多文件和我的都不太一样,就好比如MyApp.lua文件会有run()函数的定义,但是我的是在Appbase.lua里面,是版本的原因吗?他的是3.3版,我的是3.9。

你用http://www.cocoachina.com/bbs/read.php?tid-331250.html,用这个版本Quick-Cocos2dx-Community 3.6开发,我运行你这个程序是在这个版本里,可能api有点出入吧,别用官方的3.9了,它本上版本是3.5,用这个社区版3.6吧,可能你看的教程是Qucik-cocos2dx 3.3版本的

太感谢您了,小白还以为辛辛苦苦找来的教程学不了多少呢。

官方cocos lua的3.4到3.9版本 加入了半成品quick框架 而且更新到现在没有任何变化 仍然半成品
官方版本display的api里面没有 drawnode 要这么写 local rect = cc.DrawNode:create() 不能想当然的使用quick的api
如果使用官方版 尽量按绑定的封装语法写 即使想用这个半成品框架会遇到的坑点依然很多 api没有任何注释 只能看代码
而且class(“MainScene”, cc.load(“mvc”).ViewBase) 这个新加入的mvc玩意使用起来也是相当的坑 灵活性受到了不少的限制
你还会发现 切换场景加效果有问题 建立物理场景也有问题 需要改动不少api的代码

个人感觉官方版非常难用,而且千万不要以为它下个版本会修复bug,这都几个版本了仍然是个半成品
即时新版有非用不可的新功能,我也觉得花点时间折腾 移植一下quick框架会比直接用官方版好。。。

总之 新手小白很难上手官方版lua 文档说明还不如quick社区版来得详细丰富