在做项目时遇到了龙骨和骨骼动画无法适配的问题,widget组件对于龙骨动画节点无效。就需要我们自己写代码做适配了。
思路:根据当前屏幕分辨率与设计的分辨率的比例来缩放需要适配的节点。

适配模式一般常用的有两种方式:

  • 宽度固定模式(FixedWidth):采用设计分辨率的宽度,高度跟随宽高比例缩放。
  • 高度固定模式(FixedHeight):采用设计分辨率的高度,宽度跟随宽高比例缩放。

根据项目需求自己新添加了另外两种:

  • 只缩放宽度(WidthAutoScale)
  • 只缩放高度(HeightAutoScale)

代码如下,直接拖拽该脚本到目标节点。

let AutoScaleType = cc.Enum({WidthAutoScale: 1, HeightAutoScale: 2,FixedWidth: 3,FixedHeight: 4
});
cc.Class({extends: cc.Component,editor:{menu:"custom/AddAutoScale"},properties: {autoScaleType: {default: AutoScaleType.FixedWidth,type: AutoScaleType,},},start() {//适配宽度模式  (ps 只用于龙骨动画节点,其他节点最好采用cocos自带的widget组件来适配)console.log(`----------------scale--${this.node.name}-----------`);console.log("scale>>getVisibleSize:",cc.view.getVisibleSize().width,cc.view.getVisibleSize().height);console.log("scale>>>getFrameSize",cc.view.getFrameSize().width,cc.view.getFrameSize().height);console.log("scale>>canvas>",cc.view.getCanvasSize().width,cc.view.getCanvasSize().height);console.log("scale>>getDesignResolutionSize",cc.view.getDesignResolutionSize().width,cc.view.getDesignResolutionSize().height);//当前屏幕的分辨率let screenSize = cc.view.getVisibleSize();//设计的分辨率(当前项目的设计分辨率)let designResolutionSize = {width:1280,height:720}// let designResolutionSize = cc.view.getDesignResolutionSize();//移动设备获取的分辨率有问题。。let scale;switch (this.autoScaleType) {case AutoScaleType.WidthAutoScale:scale = screenSize.width / designResolutionSize.width;this.node.setScale(scale,1);break;case AutoScaleType.HeightAutoScale:scale = screenSize.height / designResolutionSize.height;this.node.setScale(1,scale);break;case AutoScaleType.FixedWidth:scale = screenSize.width / designResolutionSize.width;this.node.setScale(scale);break;case AutoScaleType.FixedHeight:scale = screenSize.height / designResolutionSize.height;this.node.setScale(scale);break;}console.log("sceneSclae", scale);},
});

cocos creator - 龙骨动画的适配相关推荐

  1. Cocos Creator 龙骨DragonBones(导出骨骼/使用骨骼/局部换装/全局换装)

    https://www.cnblogs.com/gamedaybyday/p/13021916.html Cocos Creator 龙骨DragonBones(导出骨骼/使用骨骼/局部换装/全局换装 ...

  2. Cocos Creator 骨骼动画 (龙骨DragonBones)

    版本2.3.4 参考: cocos教程:DragonBones骨骼动画资源 龙骨动画 将龙骨动画放到cocos的assets下.我这里龙骨动画是Dragonbones导出的二进制动画. 直接拖拽龙骨动 ...

  3. cocos 播放龙骨动画,ios可能存在动画问题

    修改ios项目代码. ## 引擎修改记录 ### 龙骨动画播放 Bug iOS 下修改 JSONDataParser.cpp 代码 ``` c++ // 修改 -----1------- // _fr ...

  4. Cocos Creator Spine动画产生位移时,动画位置获取问题 (root的使用)

    版本:2.3.4 参考: CSDN Unity-Spine动画位移问题 CNBolg 使用Spine动画制作动作游戏 网上搜了一下Spine动画位置的解决方案,参考了两篇文章吧.在制作spine动作时 ...

  5. cocos creator spine动画避坑

    动画组合 只需要在不同的管道播放就可以了 this.player.getComponent(sp.Skeleton).setAnimation(0, "sheji1", false ...

  6. cocos creator spine动画控制停止在中间的某一帧

    游戏中经常需要将一个spine动画拆成不同帧进行播放 只需要设置几个常用的属性就可以了 animationStart: 开始帧 animationEnd: 结束帧 总帧数可以打印结束帧 timeSca ...

  7. Cocos Creator中的动画支持技术

    Cocos Creator主要亮点 官方的权威描述是:Cocos Creator是以内容创作为核心的一体化游戏开发工具,这个引擎基于Cocos2d-x,组件化,脚本化,数据驱动,跨平台发布. 本人使用 ...

  8. 推荐几个实用Cocos Creator插件!看过的都说好

    2021年过半,Cocos Store 上目前已超过 400+ 资源,出现了有不少实用而有趣的插件工具,推荐几个给大家把玩,希望本文能对大家的工作有所帮助或启发! 嘴型动画生成 是一款专用于 Coco ...

  9. Cocos Creator 微信创意小游戏《五子大作战》团队专访

    2019 微信公开课 PRO:首批创意小游戏公布 1 月 9 日,以"同行 WITH US"为主题的微信公开课 PRO 在广州召开.公开课上,讲师孙春光发布了微信首批创意小游戏,包 ...

最新文章

  1. c语言课程设计商品销售系统,c语言课程设计商品销售管理系统.pdf
  2. 迷宫python_Python走迷宫,递归 - nixBlog
  3. html微信窗口阻止滚动条,解决微信浏览器页面可以随意拉伸,导致页面内部滚动条滚动体验不好的问题...
  4. linux 没权限dev null,Linux mint cinnamon 64位找不到/dev/null
  5. 查看linux硬核上的线程,给大家分享一点基础硬核知识哦 Linux的基础指令操作Lin...
  6. python归并排序算法实现_python算法实现系列-归并排序
  7. 响应式web之@media screen
  8. 手机闪存速度排行_2020年双十二3000-4000元高性价比手机推荐!
  9. 【Flink】FLink 1.13 3 种 命令客户端 GenericCLI 、 FlinkYarnSessionCli、DefaultCLI
  10. 安装教程之maven下载及安装
  11. Atom markdown-pdf 插件错误 Markdown-pdf: Error. Check console for more information.
  12. 弯管机程序使用三菱FX系列 PLC和昆仑通态触摸屏,也可以用三菱F940系列触摸屏
  13. 人口logistic模型公式_人口的logistic模型
  14. MATLAB智能算法
  15. 安卓判断手机GPS是否打开,未打开时跳去手机设置开启GPS的方法
  16. Android音视频录制类MediaRecorder用法举例
  17. 从汇编的角度理解什么是引用
  18. 7-33 电话聊天狂人 (25 分)(map水题)
  19. 凑辣荷丶换怂档屯览破擦丶笛丶北
  20. 【头歌】顺序表的基本操作

热门文章

  1. ADA卡尔达诺价值社区再次跨越,EMURGO正式加入PCTA
  2. 【Java】Appache Flume 中文介绍
  3. F411-WeAct(二)IIC 驱动SSD1306 OLED(0.96寸)
  4. 互联网根服务器体积位置,【群晖 DS418play 4盘位NAS网络存储服务器使用总结】功耗|构架|盘位|噪音|系统_摘要频道_什么值得买...
  5. codeforces 133A HQ9+(字符串水题)
  6. 串口通信与全双工、半双工、单工
  7. 软件测试2019:第六次作业
  8. 软件不兼容android5.1.1,Android 解决OPPO 5.1 浮窗权限不兼容问题
  9. python 常忘代码查询 和autohotkey补括号脚本
  10. margin击穿问题(margin折叠问题)