码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CocosCreator-常见问题和解决-持续更新


    目录

    3.x

    ccc 3.x 弃用 cc 全局变量

    找不到模块“cc”或其相应的类型声明。

    类型“Vec2”上不存在属性“mul”。

    类型“never”上不存在属性“instantiate”

    类型node不存在width 

    event.stopPropagation() 过时

    坐标转换的进化

    2.x

    Sorry, cc.Director.getWinSize is deprecated. Please use cc.winSize instead

    Sorry, cc.p is deprecated

    v2.1.0以,“旋转”已被弃用,请改为设置“-angle”

    Sorry, cc.Node.getPositionY is removed, please use y instead.

    其他

    设置刚体.y方向速度不生效

    tiledMap地图在ccc里不显示图块资源图

    使用tiledmap时发现图快拼接处有间隙


    • ccc常见问题
    • 持续更新

    3.x

    ccc 3.x 弃用 cc 全局变量

    import * as cc from 'cc';

    找不到模块“cc”或其相应的类型声明。

    1. 重新打开Creator
    2. 重新安装引擎

    如果以上两种方案还不行,可以试着下面的方法

    我之前3.6的版本使用正常,但是更新到3.8.2打开TS脚本提示找不到模块“cc”或其相应的类型声明。

    找到3.6版本安装目录bin下的cc.d.ts和cc.editor.d.ts复制到3.8.2对应的目录下,问题解决

    地址:D:\az3\cocos-dashboard-editors\Creator\3.8.2\resources\resources\3d\engine\bin\.declarations

    类型“Vec2”上不存在属性“mul”。

     在3.x中,将2.x里的函数定义ccp***(如ccp,ccpAdd,ccpSub)相关的操作都封装到了这个Vec2的类

    2.4文档:Vec2 · Cocos Creator

    3.2文档:Vec2 | CocosCreatorAPI

    1. // Vec2.sub向量减法, Vec2.mag返回该向量的长度
    2. // let linelen = posBegin.sub(posEnd).mag();
    3. let linelen = posBegin.subtract(posEnd).length();
    4. // Vec2.add元素向量加法, Vec2.mul缩放向量,并返回新结果
    5. // let midPos = posBegin.add(posEnd).mul(0.5);
    6. let midPos = posBegin.add(posEnd).multiply(v2(0.5, 0.5));

    类型“never”上不存在属性“instantiate”

    1. // this.curGrNode = cc.instantiate(this.node);
    2. import { instantiate, director } from 'cc';
    3. // Instantiate node from prefab.
    4. const node = instantiate(prefabAsset);

    类型node不存在width 

    需要先获取节点上的 UITransform 组件,再使用对应的接口

    1. const uiTransform = this.getComponent(UITransform);
    2. // 方法一
    3. uiTransform.setContentSize(200, 120);
    4. uiTransform.setAnchorPoint(0, 0.5);
    5. // 方法二
    6. uiTransform.width = 200;
    7. uiTransform.height = 120;
    8. uiTransform.anchorX = 0;
    9. uiTransform.anchorY = 0.5;

    event.stopPropagation() 过时

    1. event.stopPropagation();
    2. event.preventDefault();
    3. // EventTouch 里属性可以设置, 停止传递当前事件
    4. event.propagationStopped = true
    5. event.propagationImmediateStopped = true

    坐标转换的进化

    类型“Node”上不存在属性“convertToNodeSpace”。

    • this.node.convertToNodeSpace(event.getLocation());
    • this.node.convertToNodeSpaceAR(event.getLocation());

    修改为

    this.node.getComponent(UITransform).convertToNodeSpaceAR(event.getLocation())

    类型“Vec2”的参数不能赋给类型“Vec3”的参数。

    修改为

    this.node.getComponent(UITransform).convertToNodeSpaceAR(new Vec3(event.getLocation().x, event.getLocation().y, 0));

    2.x

    Sorry, cc.Director.getWinSize is deprecated. Please use cc.winSize instead

    升级2.xjingg

    cc.Director.getWinSize获取视图的大小,以点为单位。

    Sorry, cc.p is deprecated

    cocos creator 2.0的废除cc.p接口Sorry, cc.p is deprecated. Please use cc.v2 instead

    cc.p(500, 500); 改为

    cc.Vec2(500, 500);  或  cc.v2(500, 500);

    v2.1.0以,“旋转”已被弃用,请改为设置“-angle”

    cc.Node.rotation` is deprecated since v2.1.0, please set `-angle` instead. (`this.node.rotation = x` -> `this.node.angle = -x`)

    Sorry, cc.Node.getPositionY is removed, please use y instead.

    一起的还有Sorry, cc.Node.setPositionY is removed, please use y instead

    修改:

    1. api调整,全局替换 cc.Node.setPositionY 为 cc.Node.y;
    2. 全局替换 cc.Node.setPositionX 为 cc.Node.x;
    3. // if (btnStyle.getPositionY() == 0) {
    4. if (btnStyle.getPosition.y == 0) {

    其他

    设置刚体.y方向速度不生效

    this.body = this.getComponent(cc.RigidBody);

    var speed = this.body.linearVelocity;

    speed.x = 500;

    speed.y = 500;

    this.body.linearVelocity = speed;

    改为

    var speed = this.body.linearVelocity;

    this.body.linearVelocity = cc.v2(500, 500);

    tiledMap地图在ccc里不显示图块资源图

    ​

    使用tiledmap时发现图快拼接处有间隙

    全局关闭抗锯齿

    1. // 全局关闭抗锯齿
    2. cc.view.enableAntiAlias(false);

    在编辑器里把地图使用的贴图资源的Filter Mode设置为Point

    ​

    通过脚本一键修改所有图片的.meta文件里的filter mode为point:

    find . -name "*.meta" | xargs perl -pi -e 's|\bbilinear\b|point|g'
    
  • 相关阅读:
    为什么软件可以操作硬件
    平芯微PW7014中文规格书
    fio数据整理之二
    CleanMyMac是什么软件?有哪些特色功能?
    c++day4
    陀螺仪测试电路
    有点东西,template可以直接使用setup语法糖中的变量原来是因为这个
    LeetCode 43. 字符串相乘
    GoFrame+Vue+ElementUI极速开发框架
    java设计模式-观察者模式
  • 原文地址:https://blog.csdn.net/qq_44695727/article/details/124695011
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号