这两天开始用coco2d-html5写游戏, 但最终是发布到手机上, 写的js代码是跑在jsb上的. 在此记录下遇到的坑.

注:cocos2d-x 简称 cx,  cocos2d-html5 简称ch5

1. cc.LabelTTF 在ch5上换行有问题

CCLabelTTF在ch5上对应的是cc.LabelTTF,  在cx上只要设置了setDimensions()设置高度和宽度后,

只要文字超出了设定的宽度范围就会自动拆行, 当行超过了设定的高度就会自动被裁剪掉.

在ch5上看了一下源码,是按'\n' 和空格换行.没有细看, 但觉得这里的算法有些问题.

2. cc.EditBox 在ch5上不能被setEnabel(false)掉.

3. 现在参与的项目是中途加入的, 他们之前的代码在使用一个节点添加为子节点时,第三个参数,也就是Tag值,他们一直用的是字符串.

在ch5里跑的很欢, 一放到jsb就报错了.

4. 今天用CocosBuilder做一个界面,将做好的ccbi放到工程中死活加载不成功.

尝试了cc.FileUtils.getInstance().addSearchPath() 也不行.

加载ccbi需要写全路径, ccbi中使用到的图片文件有两种情况:

1).按CocosBuilder的Publish出的路径存放

2).在Cocosbuilder的Publish Settings中勾选Flatten paths when publishing, 在初始中使用cc.BuilderReader.setResourcePath()设置资源路径.

5. 在js使用ccbi, 中除了有ccbi文件外还必须定义一个此ccbi对应的全局对象. 见下图:

记录cocos2d-html5与cocosd-x jsb中遇到的坑-LMLPHP

var MainScene = function(){}; //必须存在一个对应的全局对象.

6. 根据coco2d-x.org论坛中的帖子, 说使用FireFox可以远程调试jsb,但试了多次FireFox总是提示连接超时.

分析在IOS模拟器\IPAD\Win32环境都试了,没有成功. 这里给个地圵, 有成功调试的朋友希望能提示一下小弟.

https://github.com/cocos2d/cocos2d-x/blob/develop/cocos/scripting/javascript/script/debugger/README.md

7.未完待续

04-29 21:53