Cocos2dx 3.0
CocoStudio 1.5
这套工具确实对游戏开发者挺有诱惑力的,不过不得不在这里吐个槽,BUG太多啦!!!
到现在我都不敢下定决心使用这个牛逼工具。刚刚拿他们的demo试手就遇到各种问题:
这里我碰到的问题是LoadingBar的问题,如题。
解决方法:
如代码实现所示,如果程序通过LoadingBarReader加载json数据时,是通过create()函数来创建LoadingBar对象的,
而_totalLength是在另外一个create函数里才能设置的参数
static LoadingBar* create(const std::string& textureName, int percentage = 0);
而且LoadingBar控件没有实现单独设置_totalLength的函数,所以我们在调用setPercent时,遇到下面加红色字体代码的逻辑时,程序就会return。
无奈只能删除这段代码,程序正常了!
void LoadingBar::setPercent(int percent)
{
if ( percent < 0 || percent > 100)
{
return;
}
//if (_totalLength <= 0)
//{
// return;
//}
_percent = percent;
float res = _percent / 100.0f;
if (_scale9Enabled)
{
setScale9Scale();
}
else
{
Sprite* spriteRenderer = static_cast<Sprite*>(_barRenderer);
Rect rect = spriteRenderer->getTextureRect();
rect.size.width = _barRendererTextureSize.width * res;
spriteRenderer->setTextureRect(rect, spriteRenderer->isTextureRectRotated(), rect.size);
}
}
除此之外,不得不提醒CocoStudio的开发者们,我还遇到另外的问题:
Mac版本1.0导出json文件时,数据中为nodeTree的标签与windows版本中的1.5导出的widgetTree标签是不对应的,所以两边工具导出数据不兼容,不知道是不是问题?
当然Mac还是alpha版本,不过期待尽快稳定吧!!!