从3.0到3.1和3.2的bug,官方帮忙看下

1、LoadingBar,如果用九宫,studio1.6,3.1和3.2版本都会有问题,新版本的studio没测试
2、如果同时播放太多个特效声音,会死机(同时上传资源不会),这问题在app重新获取焦点的时候发生的
3、3.1和3.2在studio坐标设置并不是实际效果。尤其在设置了中心点之后!
4、fps设置始终无效
5、ProgressTimer的setPercentage一用就崩溃!

1到4我都有解决方案把坑给填了或者无视,但是第5条导致了我始终不能升级到高版本,因为以上问题在3.0final都是好的。
高版本对于我来说唯一的需要的就是runtime体积的精简。1.5M来说对于我这项目真是太重要了。如果自己用命令发布release,我没找到相关资料。

以前弄as3、弄u3d很少遇到一些问题,这次用了开源的,这些问题不可避免会产生。只求能帮忙解决其中1、2个问题也行。

是啊, 貌似jsb的模块缩减是最有用的, 帮你顶一下

帮忙看下第5个问题呗。

还有个问题,cc.imeDispatcher始终找不到。
因为我想获取输入法高度,这样ios和部分安卓系统比如小米的非全屏输入法打开我就可以把场景的UI上移对应高度,输入框就不会被输入法挡住。

7、fileutiles读取文本中的字符串,如果文件体积过大(测试的时候是30K,Base64一个100*100的png图片),那么读出来的数据是null。因为我这是我做上传唯一的途径了。保存用户头像倒是用RenderTexture给做了。

8、cc.textureCache里面的getKeyByTexture不存在(JSB)。源码没见到JSB不能用的说明。h5下面好像也有点问题。

9、IOS8 iPhone6 百度输入法,输入之后会导致闪退!

10、websocke问题,t经常会导致崩溃,可能的出现的情况有:连续发送间隔过短、发送的字节过大,网络状态不好的时候,网络断开之后,断开状态无法获得,有时候也崩溃!

11、这个不算BUG。建议给纹理缓存获取之前加个判断,如果缓存池里面没这个纹理,就友好的提示下,而不要崩溃且无任何提示

12、可不算bug的bug。游戏的UI全部基于ccui,按下一个按钮不松开,再按下另一个按钮,然后同时松开2个按钮,2个按钮都会响应!

13、设计上的BUG,addTouchEventListener无法用2次。导致我封装ui的时候限制很多。

— Begin quote from ____

引用第7楼qibu111于2014-12-24 12:18发表的 :
10、websocke问题,t经常会导致崩溃,可能的出现的情况有:连续发送间隔过短、发送的字节过大,网络状态不好的时候,网络断开之后,断开状态无法获得,有时候也崩溃! http://www.cocoachina.com/bbs/job.php?action=topost&tid=277421&pid=1205754

— End quote

查明了,应该是websocket出现大量数据阻塞导致的崩溃

坑坑更健康,你坑我也坑,大家坑才是真的坑,cocos2d坑出你的美丽!:877:

我没有用过unity,请问unity会有这些烦人的小坑吗?
用cocos2d这两年一直是 生命不止,坑坑不息,要是unity比较好用我就去试试unity好了。

加入你提到的这些问题到我们的bug检查列表,并在3.2中修复你提到的几个重点问题。

楼主,你说的“ProgressTimer的setPercentage一用就崩溃!” y请问是在什么平台?什么情况下出现的?

我们测试了一下Web 与native都没有发现你说的情况。

Thanks,
David

非常感谢你的反馈,也很抱歉现在才看到回复你。
由于你提到runtime包体积的剪裁,我估计你的问题大多数是反馈JSB的吧?

  1. 我们会尽快测试

  2. 我们会尽快测试

  3. 你是说在Studio中设置锚点之后会有问题对吧?

  4. 已经修复

  5. 这个我们测试了3.2在Web,JSB上的表现,效果都是正常的,可以提供下重现代码么?或者错误信息

  6. IMEDispatcher确实没有绑定,我建立了一个issue:https://github.com/cocos2d/cocos2d-js/issues/1232

  7. 我测试了Mac, iOS, Android,用jsb.fileUtils.getStringFromFile()来获取一个96kb的文件内容,都是正常的

  8. JSB中确实没有这个函数,我建立了Issue:https://github.com/cocos2d/cocos2d-js/issues/1233

  9. 这个是哪个版本发现的问题?在旧版本中我们有使用一些system函数,在iOS8上会导致第三方输入法的崩溃,但是现在已经没有这些system函数的使用了

  10. websocket是我们正在重点加强的模块

  11. 这个不会崩溃吧?只要判断cc.textureCache.getTextureForKey的返回值是否等于null就可以了

  12. 你是指手机上的多点触摸造成的吧?我在github上提了个问题:https://github.com/cocos2d/cocos2d-x/issues/9627

— Begin quote from ____

引用第16楼fysp于2014-12-25 14:52发表的 :
非常感谢你的反馈,也很抱歉现在才看到回复你。
由于你提到runtime包体积的剪裁,我估计你的问题大多数是反馈JSB的吧?

  1. 我们会尽快测试

http://www.cocoachina.com/bbs/job.php?action=topost&tid=277421&pid=1206807

— End quote

太感谢了,问题列表
3、你说的对
5、我等项目上线了再详细测试下,这个是3.2rc0版本遇到的问题
7、我再详细测试,提交更详细的信息
9、还是3.0版本,ndk用的是r9d,过阵子我用r10再试下是否还有此问题。用的是ccui的TextFiled,别加入任何代码,直接崩溃。
11、cc.textureCache.getTextureForKey在3.0没有这个方法。我开始构建底层的时候忘了取纹理方法再封装一层。现在取过来如果是空,但是强制加入显示列表会崩溃。
12、你说的对

— Begin quote from ____

引用第17楼qibu111于2014-12-26 15:27发表的 :

太感谢了,问题列表
3、你说的对
5、我等项目上线了再详细测试下,这个是3.2rc0版本遇到的问题
http://www.cocoachina.com/bbs/job.php?action=topost&tid=277421&pid=1207697

— End quote

确实目前大部分问题是jsb。h5版本等jsb稳定了之后也会上。

目前项目已经到尾声,月底上线,期间遇到了不少的bug,也填了不少坑。

比如输入法挡住输入框的问题:

安卓下面,横屏模式,小米输入法默认不全屏,别的全屏。现在我设置为全部不全屏,然后根据需要把场景上移,让输入框可见。(安卓的输入法关闭无法取得、输入法高度无法取得)

又比如图混混排的坑:
官方的richtext遇到\n什么的会有硬伤。所以我索性放弃了richtext,利用list重写了一个图文混排控件(js写的)。目前效果良好,等产品上线,功能稳定之后我很乐于分享出来。效果见附件

— Begin quote from ____

引用第13楼职业吐槽于2014-12-25 12:16发表的 回 楼主(qibu111) 的帖子 :
我没有用过unity,请问unity会有这些烦人的小坑吗?
用cocos2d这两年一直是 生命不止,坑坑不息,要是unity比较好用我就去试试unity好了。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=277421&pid=1206669

— End quote

任何技术都有其缺点,cocos2d虽然bug多,但是是开源的,你可以自己来修复任何bug。unity虽然现在是支持2d了,但是文件体积、可扩展性是硬伤。它的打包方式也非常不友好!热更新更是别提。

再比如adobe air技术,一样的是闭源的,你无法自己来解决一些硬伤问题,虽然他运行起来比上面2者稳定,但是文件体积、运行效率、缺少ui编辑器同样是硬伤

还有最新出现的白鹭引擎,还只是个beta版本。

我个人感觉,目前位置,做2d游戏的话,cocos是最好的选择,其中cocos-js又是更好的选择。如果js改成TypeScript就完美了。

至于cocos,我觉得把2D给做好就行,去弄3D不是最好的选择,支持基础的3d功能就行。毕竟很少人会用u3d去做一个2d游戏,用cocos去做一个3d游戏。