决定放弃 Cocos Studio

前端之家收集整理的这篇文章主要介绍了决定放弃 Cocos Studio前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本是怀着激动的心情摒弃cocosbuilder,转为用cocos studio
结果发现完全无法胜任工作

cocos studio 缺点:

  • 启动速度极慢 (吃多少内存没有详细去看)
  • 功能很多,但是真正提供实用的细节完全没有
  • bug,会导致项目假死,升级后工程一直假死,重新打开也一样
  • bug,会导致操作时崩溃
  • 强推更新,这个软件去年接触过一次,就因为不稳定删掉了,而它并不给你带来宽容,升级都是强制性,虽然可以点x,但是底部按钮只有一个”升级”,点了各种问题就出来了,就上面说的假死问题
  • 自定义触碰,点击事件构造起来极其复杂,需要两个类,以及一个单例来实现,之前写我参照英文,中文官方代码,以及demo代码,都没有实现成功,官方是否应该反省一下这个问题的严重性,你既然很多内容都简化了,为什么偏偏和自己的csb文件对接,都能这么费劲
  • csb读取后的查找子元素的方式居然用递归遍历查找,多么浪费效率,为了找一个变量对象,遍历整个csb的树形结构,官方到底想什么呢

cocosbuidler 缺点:

  • 兼容性差
  • 很久未更新,可以去github搜 cocosbuilder_quick3.3版本,这个是国人基于cocosbuilder3beta开发支持更新后的cocosstudio,我试用了一下,和官方beta4版没什么区别

应对两个不同构建对象的方法,我使用

Map<string,Node*> Vars;

来实现,这个代码放到捕捉ccb/csb内创建的对象,
在子类创建内部类:

class Keys:public KeyBoard{
public:
    string txt_title = "txt_title";
    string txt_content = "txt_content";
    string bt_yes = "bt_yes";
    string bt_no = "bt_no";
    string menu = "menu";
    string mcContent = "mcContent";
    string mcTitle = "mcTitle";
};
Keys keys;

然后通过

auto txtContent = dynamic_cast<Label*>(Vars.at(keys.txt_content));

调用对象

本身Map是支持自动对Ref对象retain和release的,其次不需要对每个ccb/csb创建的对象都建立内部私有变量,这样很麻烦,也很不好查找

总之,cocos studio 问题太多了,官方不注重细节和性能,只为了堆技术堆功能,最后舍弃的人会越来越多,另外值得一提的是,cocos2dx 整天更新apii名称,今天用shareInstance(),明天用getInstance(),后天集成到Director里面去,各种帮助,注释是过时的,真是折腾够了,下一步开发的时候注意点,有计划的进行并且能维持广大开发者的良性发展.

原文链接:https://www.f2er.com/cocos2dx/341305.html

猜你在找的Cocos2d-x相关文章