这两天开始用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对应的全局对象. 见下图:
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.未完待续