11月29日今天下午3点至5点Cocos2d-x作者王哲将在本贴中和大家做面对面交流~

论坛感觉突然恢复生机了,好快、、好快了

提问王哲大神:3.0UI部分有哪些改变?

期待最新版本3.0的进展情况。以及正式版何时发布。

— Begin quote from ____

引用第4楼凤凰花开于2013-11-29 12:56发表的 回 2楼(同心圆) 的帖子 :
我以前是用动作回调的方法实现的,3.0会有一个较好的方法 http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855572

— End quote

2.2的extension里面也有一个NotificationCenter。不过和3.0的EventDispatcher比起来就小巫见大巫了。

比较抱歉EventDispatcher的文档还没写出来,只能先看看sample code了
https://github.com/cocos2d/cocos2d-x/tree/develop/samples/Cpp/TestCpp/Classes/NewEventDispatcherTest
注意里面custom event的派发和接收方法。

但EventDispatcher和NotificationCenter都不是线程安全的,比较完善的还是用我前面帖子里提到的生产者-消费者模型。

— Begin quote from ____

引用第18楼walzer于2013-11-29 15:23发表的 :

多线程方面的消息传递方面,目前cocos没有封装这块。你可以参考标准的“生产者-消费者模型”来实现。网上可以搜到很多实现。另外,我在2.x版本里面的写的 https://github.com/cocos2d/cocos2d-x/blob/master/extensions/network/HttpClient.cpp 这个也可以参考一下,没有做很纯粹的封装,不过用 CCArray 做了两个队列,在网络和UI线程里面分别用 pthread_mutex_lock/unlock 加锁解锁。
http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855643

— End quote

嗯嗯,非常感谢。我再看看相关的资料。
另外editbox是在iOS模拟器上测试的,用的是iOS6.1,editbox加到scrollview上一拖动就会出现这个问题,我也试过textfieldttf加到scrollview上,这个显示是正常的,晚上回去再发到真机上测一下

Hi。。。。论坛恢复了,跟你在线问答其实没关系,赶上了,CocoaChina问答遭到一些攻击先暂停掉修复ing…

— Begin quote from ____

引用第7楼jerrylipeng于2013-11-29 14:21发表的 :
我想问一下关于开发语言的选择问题。我使用cocos2dx不久,从html5入手的。cocos2dx jsb是一个很吸引我的特性,它使得在开发者在前期可以利用浏览器进行便捷的开发/调试,并在后期方便的移植到android/ios平台。
但是经过一段时间的使用,我发现html5和jsb或多或少有些不一致的地方,比如API的细微差别,有些功能没有binding到javascript等。
我想问一下,抛开对语言本身熟悉程度的差别,cocos2dx C++/Lua/Javascript哪一个是更好的选择呢? http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855613

— End quote

看团队和项目的规模。越小型的项目,用C++/Lua就越快;越大型的项目,用js收益就越大。有些性能critical的游戏,比如coc-like游戏,就必须用c++用尽所有性能了。就流行程度而言,lua是最流行,也是最容易找到工作的。js基本都是一些大公司在用

现在是否推荐使用cocos2dx 3.0做项目,还是至少等beta 版。

cocos2dx很多回调参数都是Obj类型,虽然看似这个类型很有用,但实际上用处非常之小,几乎无用,还有一个参数是触控的event*参数,不知道3.0版本以后会不会有所改变。

小项目可以用,挺好用的

什么时候CocoStudio来搞直播???

为什么在cocostudio里做出来的图和在程序里加入后运行出来的位置不一样?

— Begin quote from ____

引用第8楼faseer于2013-11-29 14:24发表的 :
为什么不把CCNode的setUserObject设计成(id, value)的形式?
现在这样,看上去很有弹性可以设置任何类型,可某个库在底层占用后(比如cc3.0的jsb),其它程序则没法使用。这个api就感觉不敢用,怕被坑或者坑人。弹性变成了束缚,不如用id。这样只要保证id不重复就可以放心使用了。即使id冲突了,只需简单换个id就可以了,不用担心既有程序的实现。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855616

— End quote

不错的建议。我建了一个issue来跟踪 http://www.cocos2d-x.org/issues/3322

— Begin quote from ____

引用第9楼jerrylipeng于2013-11-29 14:41发表的 :
请问localStorage在android和ios上是用什么实现的?其安全性是否有保障(是否易被篡改),还是说开发者需要在自己加入加密/解密逻辑? http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855622

— End quote

LocalStorage在android上调用的是android sdk上的SQLite, 其他平台调用的是我们自己编译出来的SQLite。安全性没有保障,越狱机器就可以访问到那个文件,你需要自己加入加密/解密逻辑

— Begin quote from ____

引用第10楼jerrylipeng于2013-11-29 14:51发表的 :
请问,是否可以使用assetsmanager来在线更新/添加jsc文件?如果可以的话,用这种方式来做更新岂不是很方便? http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855626

— End quote

是的可以。不论用LUA或JS,在线更新逻辑脚本都很方便。

过了一个小时了,好快呀:2:

— Begin quote from ____

引用第21楼凤凰花开于2013-11-29 15:30发表的 :
提问王哲大神:3.0UI部分有哪些改变? http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855647

— End quote

extensions/CCControl系列不再维护了。而是重新设计了新的GUI框架,在cocos/gui下面。
我认为GUI系统的发展可以分四个阶段

  1. fixed position。也就是cocos2d-x 1.x版本,cocos2d-iphone目前版本的水平
  2. relative position。也就是cocos2d-x 2.x的水平
  3. layout, v-box, h-box,也就是Android GUI系统,cocos2d-x 3.0 GUI的水平
  4. web那种css, html图文混排的水平。目前我们还没做到。

目前3.0 GUI就在上述level-3的水平上。当然layout这种东西用手写就很麻烦了,3.0 GUI的另外一个好处是可以直接在CocoStudio里面让美工做布局了。

— Begin quote from ____

引用第22楼harbinxxh于2013-11-29 15:30发表的 :
期待最新版本3.0的进展情况。以及正式版何时发布。
http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855648

— End quote

3.0虽然现在只是alpha1版,但实际上除了new renderer之外,其他功能都已经基本OK了,接口和目录结构也已经稳定了。Ricardo很想叫beta版,我觉得既然还没把所有计划中的功能全部做完开始“仅修bug”,就只能继续叫alpha

后续的计划是,大概12月底或1月初发beta版,带new renderer, 完善目前new label,以及BUG修复,增加好用的工具链,增加文档,CocoStudio同步
然后在2月份发3.0 final版

可商用的2.5D功能计划在3.1版里面出来。

直接在一个帖子里面直播吧。以后就这个时间点,cocos2d-x, -html5, studio直播,论坛混战。

— Begin quote from ____

引用第27楼daxiaojiuchou于2013-11-29 15:42发表的 :
现在是否推荐使用cocos2dx 3.0做项目,还是至少等beta 版。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=169745&pid=855656

— End quote

目前有不少公司在用3.0做项目了。推荐直接从3.0-alpha1开始。下个版本是beta版,不再修改API和目录结构了。