用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效

   cocos2d-x + cocos studio无疑是当下二维手游开发的利器,但是在从旧版本向新版本的升级过程中,坑坑也的确不少。看到网络上这方面的记录多如牛毛,但又大多是只言片语,甚至于最可靠的官方网站上许多文档也都十分过时。因此,深深觉得,要做成功一项开源项目的确很难,而这部分文档教程又恐怕无非一个两个员工所能为。感于此,继续记录下我这边的踏坑中的只言片论,供参考。

1.以前试验环境

  • cocos2d-x 2.2.3

  • CocoStudio 1.4.0.1

以前运行如下代码OK:

1
2
3
         UIButton* Button_Start = static_cast<UIButton*>(widget->getChildByName("Button_Start"));
         CCActionInterval* waves1 = CCWaves3D::create(10, CCSizeMake(15,10), 18, 5);
         Button_Start->runAction(CCRepeatForever::create(waves1));

恕不再奉上运行时截图。

2.当前试验环境

  • Cocos2d-x 3.8.1

  • Cocos Studio 2.3.2

 当前运行如下代码FAILED:

1
2
3
         Button* Button_Start = static_cast<Button*>(Helper::seekWidgetByName(Panel_Back, "Button_Start"));
         auto  waves1 = Waves3D::create(10, CCSizeMake(15,10), 18, 5);
         Button_Start->runAction(CCRepeatForever::create(waves1));

运行时错误截图:

跟踪源码大致分析得知:运行上述Action的主体必须是GridNode类型。其实,上面图中的_gridNodeTarget正是GridNode类型的指针。

3.cpp-tests中实例证明

  参考源码文件见EffectsAdvancedTest.cpp,相关代码如下:

1
2
3
4
5
    auto waves = Waves::create(5, Size(15,10), 5, 20, truefalse);
    auto shaky = Shaky3D::create(5, Size(15,10), 4, false);
     
    _target1->runAction( RepeatForever::create( waves ) );
    _target2->runAction( RepeatForever::create( shaky ) );

   其中,_ target1和_target2都是NodeGrid指针类型。另外上面Waves替换成Waves3D也一样,因为二者都继承自Grid3DAction(参考下图)。

注意上述文件中有关类似的代码很多很多。

4.补充

第一,早期的上述3D动作特效只要求其运行实体对象为Node,当前版本的则要求其运行实体对象为NodeGrid,这正是上述运行时错误产生的根源。至于如何官方设计如此转换,暂不得而知。不过我还是坚信官方技术一定会朝着越来越科学高效的目标发展,尽管其过程中存在多种问题。

第二,能否通过变通方式实现UI界面中的控件运行上述3D类Action呢?经过简单分析,感觉很难,即使使用官方网站提到的自定制组件技术。记得早期版本开发过程中,就发现过不少的Studio中的控件技巧与直接在界面中添加的Node及其子类存在许多不致的方面,现在仍然如此!当然,想彻底弄清楚内在规律肯定需要花费不少时间。

5.Refs

(1)http://www.cocos.com/doc/article/index?type=cocostudio&url=/doc/cocos-docs-master//manual/studio/v4/chapter3/Extend/Directory/../WidgetExtend/zh.md

(2)http://www.cocoachina.com/bbs/read.php?tid=225481

(3)http://guandongsheng.iteye.com/blog/2091679

(4)http://my.oschina.net/Jacedy/blog/301575

本文转自朱先忠老师51CTO博客,原文链接: http://blog.51cto.com/zhuxianzhong/1714617,如需转载请自行联系原作者

用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效相关推荐

  1. 使用matlab编写人脸识别的程序,并制作UI界面

    使用 MATLAB 编写人脸识别程序可以使用 MATLAB 自带的图像处理工具箱,如 Image Processing Toolbox 来实现. 首先,需要导入人脸数据库并进行预处理,包括对图像进行预 ...

  2. GameFramework制作游戏(二)制作UI界面

    1.制作UI界面 我做了个动画,然后把场景内的UI预制体删了 开始做加载资源里的UI预制体 返回我们的Demo11_Meun脚本,添加逻辑 public class Demo11_Meun : Pro ...

  3. UI界面:手写UI代码或者使用xib和StoryBoard制作UI界面的区别和分析

    UI: Code vs Xibs vs StoryBoard 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大 ...

  4. P04:用Ant Design制作UI界面

    阅读目录 阐述 引入CSS样式 编写Input框 编写Button按钮 List组件制作列表 总结 demo TodoList.js index.js 阐述 已经完成了基本开发环境和AntDesign ...

  5. python界面交互pyside2的学习(2):制作ui界面的准备工作

    在上一次的学习中,我们学习了如何用pyside2创建一个简单的窗口,但是实在是太简陋了.为了设计ui界面,并将其放到pyside2程序中,我们需要做一些准备工作. 首先我们要安装一个软件,它的名字叫做 ...

  6. 解决!Android Studio 设计 UI 界面控件全在左上角

    Android Studio在进行界面设计的时候 UI 界面的 Layout 控件全在左上角 1.点击红色圈中的图标,Infer Constraints即可 2.这是之后的效果图 3.运行

  7. Studio用布局编辑器设计UI界面

    2017九月 26 转 Studio设计布局的新姿势 目录(?)[-] ConstraintLayout基本界面 ConstraintLayout约束类型 尺寸约束 边界约束 基准线约束 清除约束 约 ...

  8. android选项菜单源代码,Android应用程序----UI界面控件(菜单menu)

    菜单是应用程序中非常重要的组成部分,能够在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,并为程序开发人员提供了易于使用的编程接口 Android系统支持三种菜单 选项菜单(Option ...

  9. Cocos Studio的动画系统介绍

    Cocos Studio介绍Cocos Studio是一套基于Cocos2D-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发 ...

最新文章

  1. 探寻新的治疗方法,研究人员用VR可视化DNA结构
  2. 数据库SQL Server 2019安装向导的“功能选择”详细说明(微软官方资料)
  3. 第二章 反向传播算法如何工作的?
  4. js判断是安卓手机还是ios
  5. PHP Uploadify+jQuery.imgAreaSelect插件+AJAX 实现图片上传裁剪 仿微博头像上传功能
  6. ap模式和sta模式共存_AP+AC组网下的本地转发及集中转发
  7. Linux学习之内核模块编程
  8. vbs 一些学习资料
  9. Android给ListView添加侧滑菜单功能
  10. IteratorX 正式开源:超好用的 jdbc reader
  11. make_classification参数
  12. 转:一篇很全面的freemarker教程
  13. Laravel框架壁纸图库图片上传下载程序源码
  14. java 加背景颜色_Java 给PPT幻灯片添加背景颜色和背景图片
  15. 1374:铲雪车(snow)——欧拉回路
  16. 学计算机选择师范类好吗,师范教育类专业和计算机类专业,两者相比,哪个更适合自考生报读...
  17. V2X主要用到什么技术?
  18. cocos实现PC端鼠标指针更换功能
  19. AD软件绘制stm32最小系统电路原理图与PCB图
  20. 在线Base64编码 = 图片

热门文章

  1. 谷歌提出「卷积+注意力」新模型,超越ResNet最强变体
  2. 人工智能在未来将要经历的七个阶段
  3. 拥抱AI视觉,加油站可以很“智慧”
  4. SAP Lumira 初探
  5. [干货]我如何考察面试者的机器学习水平
  6. AI工程师面试知识点:神经网络相关
  7. 如何进行机器学习框架选择
  8. 金审系统与SAP接口
  9. 干货丨卷积神经网络工作原理的直观解释
  10. 从“诺奖级”成果到“非主观造假”,时隔6年,韩春雨带着原一作,再发高分文章!...