决定放弃 Cocos Studio

39 篇文章 0 订阅
16 篇文章 0 订阅

本是怀着激动的心情摒弃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里面去, 各种帮助, 注释是过时的, 真是折腾够了, 下一步开发的时候注意点, 有计划的进行并且能维持广大开发者的良性发展.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值