Cocos creator的lua开源版本

有点标题党的感觉,我开始做这个项目的时候cocos的编辑器是一塌糊涂,目前我这个项目已经可以满足我自己的开发要求了
今天突然看到cocosCreator出来了,功能居然和我预期的一样,这个项目经历了很复杂的思想斗争,我不知道我开发这个项目是否值得,今天cocoscreator出来我觉得我这个项目有些白做了,这些时间不如乖乖做游戏赚钱,我现在每个月的伙食费都是问题,现在我决定我把这个项目开源出来,促进游戏引擎中国的发展(呵呵,有点说大了)。
我这个项目叫做Meduzer,由我个人利用业余时间独立开发,目前已经实现的功能。
1.游戏对象编辑
2.物理引擎支持
3.lua脚本支持
4.可视化编辑,代码编辑为一体,边开发边运行,支持cocos2dx结点层次拖动改变
5.动画编辑
差不多和unity3d的2d版本一样

今天cocosCreator都已经出来了,我感觉我一个人再做是比不过cocoscreator,所以我决定开源了,相比它3个优势
1.开源
2.支持lua
3.扩展性好,自定义功能

先放上功能视频:
http://v.youku.com/v_show/id_XMTQ1NTI3NzUwMA==.html

//----------------------2016-01-26更新--------------------------------
谢谢各位的支持,目前项目的主要问题是不熟悉的人用的话需要注意很多事项,就是会有一些坑,我会尽量搞定一个比较完整的,然后放上来

so cool~~~~ 可惜画质太差,字都看不清楚

几个问题:
你的编辑器界面是用什么方法画的?怎么黑一块红一块的…
你的 lua 脚本是如何和场景关联到一起的?
扩展性好,能举个例子介绍下嘛?

你的编辑器界面是用什么方法画的?怎么黑一块红一块的…
背景和按钮是应该用图片来代替的,我这里用的是一张全白的背景图,然后给它设置颜色,所以看起来是黑一块白一块的

你的 lua 脚本是如何和场景关联到一起的?
node的脚本组件会在init,update的时候调用相应的脚本内容,脚本访问其他内容可以通过脚本记录或者c++的全局内容管理类获取指针,脚本对应的node和编辑器中编辑的属性值会由工具统一管理

扩展性好,能举个例子介绍下嘛?
1.代码功能的扩张性,目前不支持曲线,音效等组件,但是实现起来确实我个人觉得很简单。还有就是支持的脚本,如果要同时支持js和lua,我觉得也是蛮简单的,这个具体我不知道该怎么形容
2.unity3d和cocosCreator相比我觉得还是应该unity3d胜出很多,但是很多人当初选择cocos2dx有一定原因是应为他的开源,要实现某些功能确实会比较方便,如果开源了,开源定制很多扩张编辑功能

mark。。。。。。。。。。。。。。

脚本对应的node和编辑器中编辑的属性值会由工具统一管理

能介绍下这块机制吗?

unity3d和cocosCreator相比我觉得还是应该unity3d胜出很多,但是很多人当初选择cocos2dx有一定原因是应为他的开源

谁优谁劣就不主观评价了,不过如果是开源的话,CocosCreator 开源的程度仍然远超过 Unity3d 呢。


另外,你的场景渲染使用的是 cocos2d-lua 吧?

先赞一个再看视频。
是否能支持quick呢?如果能支持quick的话,到泰然网去看看。http://www.tairan.com/
有了这样一个编辑器quick就如虎添翼了。

另外优酷只能标清蛋疼
---------------看完视频后----------------------
物理引擎居然是box2d的,应该是楼主自己绑定的吧。lua我记得原来没绑定box2d

感觉功能上基本达到了cocos creator的程度,还是楼主个人用空闲时间做的,真是厉害。稍微修改一下配色和按钮就非常完美了

类A管理所有要出现在游戏中的对象
新建一个对象Node,会在A中记录下它
给Node一个脚本组件,这个C++的组件类会在c++中创建一个 lua脚本对应的对象O,onEnter的时候会调用脚本中的函数O.onEnter(Node),如果在脚本中想要访问另外一个脚本,则需要通过A.getNodeByName.getCompontByName去取。

属性面板中的lua中的属性是通过解析lua脚本,获取需要公开的属性,然后把这些属性放到属性面板中提供编辑,编辑之后会c++会调用lua把lua对象中的数值改掉,然后 会把这些值保存到c++中的脚本组件里,然后在保证整个工程的时候保持到磁盘上。

场景渲染使用的是 cocos2d-lua

表示不会quick

编辑器目前还是有很多不足的地方,不能和cocosCreator相比

box2d这些都是在c++里处理完的,多边形的编辑也是在工具里编辑好,由工具处理,之后再碰撞了之后才调用lua的脚本告诉他碰撞了

类A管理所有要出现在游戏中的对象
新建一个对象Node,会在A中记录下它
给Node一个脚本组件,这个C++的组件类会在c++中创建一个 lua脚本对应的对象O,onEnter的时候会调用脚本中的函数O.onEnter(Node),如果在脚本中想要访问另外一个脚本,则需要通过A.getNodeByName.getCompontByName去取。

属性面板中的lua中的属性是通过解析lua脚本,获取需要公开的属性,然后把这些属性放到属性面板中提供编辑,编辑之后会c++会调用lua把lua对象中的数值改掉,然后 会把这些值保存到c++中的脚本组件里,然后在保证整个工程的时候保持到磁盘上。

场景渲染使用的是 cocos2d-lua

谢谢回答!
在朋友的提示下找到了原帖, http://www.cocoachina.com/bbs/read.php?tid=325772
原来是用 cocos2d-x 画的 UI,这种路线和 Unity 有点接近啊,而且还能跨平台。但说实话要做一套好的 UI 系统很难…… 而且用 C++ 来做编辑器,太原始了。

楼主加油,不要半途而废,好好做下去!期待发布的一天!(否则做不完善开源也用处不大)

quick就是对cocos2dx-lua再封装了一层,让他用起来比较方便。quick3.5已经和cocos2dx-lua合并…
主要是有display很方便

那个是几个月前的,和现在的区别还是蛮大的

谢谢

恩恩,我了解下

:882: quick3.5合并进cocos2dx-lua后应该方法都差不多了。
不过官方是命令行创建、编译。

传统的quick,自带模拟器可以运行,环境也比较方便
http://www.tairan.com/engines-download
参考quick的介绍

楼主加油,不要半途而废,好好做下去!期待发布的一天!App嫌多,好工具不嫌多!

做到支持多几个平台: cocos2dx-lua、quick、 cocos2dx、Cocos2D、Unity、SpriteKit、LibGDX、Love2D等!

小工具也是有市场的!像TexturePacker、Spriter、LevelHelper 2等,一个十几、几十美金!

不要太全,先解决基本编辑器功能就可!只要底层健壮、高效,整体架构要活就行!方便扩展!

也可以先做出工具完整原型,截图展示一下,搞众筹,看情形如何,获取第一笔资金!

1赞

“就是说”,楼主的心情是灰常鸡冻的

谢谢你的建议,目前项目我自己用的话还可以,如果别人来用的话,需要有注意很多事项,我尽量快解决一个比较完整的
另外如果做众筹的话,该去哪里做呢,这个不是很了解。。。

选国内的众筹网比较好参与!去参考看看其他的项目方案怎么写的吧!

做一个比较完整、可用的雏形先,然后介绍架构的长期可靠性、给出比较实际的进度和计划!

好工具,有需求的!国外有很多做小工具的个人或小团体!

后续可以开发英文版、日文版、韩文版!依托众多手游引擎开发者,不会嫌多!

知识宝贵!人才难得!专研无错!领域不悔!

祝你成功!祝你在此领域有精通!


如果要众筹,就不要开源了!他们需要一个有人长期维护的优质的商业软件!)

以上个人建议,仅供参考!

国内大的有:

京东众筹:http://z.jd.com/search.html

淘宝众筹:https://izhongchou.taobao.com/index.htm

还有摩点网

1赞

触控团队选择JS 来做cocos2d-x的编辑器可能是条不归路,我个人感觉Cocos Creator项目会失败,
楼主我支持你选择LUA为cocos2d-x做编辑器。
到时众筹的网页在cocoachina论坛发出来,大家都来投资你,
我也会投你钱的,数目可能不多:14: