Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了决定放弃 Cocos Studio大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

cocos studio 缺点:

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

cocosbuidler 缺点:

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

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

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

大佬总结

以上是大佬教程为你收集整理的决定放弃 Cocos Studio全部内容,希望文章能够帮你解决决定放弃 Cocos Studio所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。