游戏开发25可 cocoscreate2.x升级3.x

针对 Cocos Creator 2.x 用户

  • 节点上 UI 相关接口变更如下:

    • 与坐标变换计算相关的接口(例如:size 和 anchor)变更如下:

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

        const uiTrans = node.getComponent(UITransform)!;
        uiTrans.anchorX = 0.5;
        uiTrans.setContentSize(size);
      
    • 其余接口变更如下:

      • color:需要先获取节点上的渲染组件(例如:Sprite 组件),再使用对应的接口。

      • opacity:如果节点上有渲染组件,直接设置渲染组件的 color。如果没有渲染组件,则可以通过添加 UIOpacity 组件,并设置相关属性。

      • skew:该接口已被移除。

      • group:变更为 layer

      • zIndex:变更为 UITransform 中的 priority

        注意:从 v3.1 开始,priority 属性已弃用,若需要调整节点树的顺序请使用 setSiblingIndex 方法。

  • CCSpriteFrame

    • 移除接口:copyWithZonecopyclone 和 ensureLoadTexture

    • 变更接口:

      • setFlipX 和 isFlipX -> flipUVX

      • setFlipY 和 isFlipY -> flipUVY

      • getTexture 和 setTexture -> texture(此处的类型是 Texture2D/RenderTexture)。

    • 其余 get 和 set 对应的方法在 3.0 中都直接对应同名属性(例如:getOffset -> offset)。

  • CCTexture2D

    • 变更接口:genMipmaps -> mipmapsinitWithElement -> image

    • initWithData 整个方法被移除,类似的使用是将原先要传入的 ArrayBufferView 数据,传给新建的 ImageAsset,然后再用 ImageAsset 传给新建的 Texture2D,从而获得一份图片资源。

  • cc.Action:相关接口全部移除。

  • 物理

    • 2D 变更组件:cc.Collider -> Collider2Dcc.BoxCollider -> BoxCollider2Dcc.RigidBody -> RigidBody2D 等。

    • 3D 变更组件:cc.Collider3D -> Collidercc.BoxCollider3D -> BoxCollidercc.RigidBody3D -> RigidBody 等。

  • tween

    • 变更接口:cc.repeatForever -> Tween.repeatForevercc.reverseTime -> Tween.reverseTimecc.show -> Tween.show 等。
  • 动画

    • 变更接口:addClip -> createStategetClips -> clipsplayAdditive -> crossFadegetAnimationState -> getState 等。
  • 相机

    • 移除接口:findCameraalignWithScreenmaincameras、 zoomRatio 和 containsNode

    • 变更接口:backgroundColor -> clearColorcullingMask -> visibilitydepth -> clearDepthgetScreenToWorldPoint -> screenToWorldgetWorldToScreenPoint -> worldToScreengetRay -> screenPointToRay 等。

  • 音频

    • 变更接口:getLoop 和 setLoop -> loopgetVolume 和 setVolume -> volumegetCurrentTime 和 setCurrentTime -> currentTimesrc -> clip
  • 材质

    • 所有相关改动都需要获得 MeshRenderer 或其子类身上的 材质实例 来完成。

    • 移除接口:setBlendsetDepthsetStencilEnabledsetStencilsetCullMode 和 define,其中除了 define 是调用 recompileShaders 完成更新,其余的都是调用 overridePipelineStates 完成更新。

  • sys 下的平台变量变更如下:

Cocos Creator 2.xCocos Creator 3.0
BAIDU_GAMEBAIDU_MINI_GAME
VIVO_GAMEVIVO_MINI_GAME
OPPO_GAMEOPPO_MINI_GAME
HUAWEI_GAMEHUAWEI_QUICK_GAME
XIAOMI_GAMEXIAOMI_QUICK_GAME
JKW_GAMECOCOSPLAY
ALIPAY_GAMEALIPAY_MINI_GAME
BYTEDANCE_GAMEBYTEDANCE_MINI_GAME
  • 全局变量 变更如下:
Cocos Creator 2.xCocos Creator 3.0
CC_BUILDBUILD
CC_TESTTEST
CC_EDITOREDITOR
CC_PREVIEWPREVIEW
CC_DEVDEV
CC_DEBUGDEBUG
CC_JSBJSB
CC_WECHATGAMEWECHATGAME
CC_RUNTIMERUNTIME_BASED
CC_SUPPORT_JITSUPPORT_JIT
  • 动态加载资源

    在 v3.0 中使用 bundle.load 或 resources.load 动态加载 sprite-frame 或 texture 时,需要将路径指定到具体的子资源:

      // 加载 texture
    
      // v2.x
      resources.load('background', cc.Texture2D, () => {});
      // v3.0
      resources.load('background/texture', Texture2D, () => {});
    
      // 加载 sprite frame
    
      // v2.x
      resources.load('background', cc.SpriteFrame, () => {});
      // v3.0
      resources.load('background/spriteFrame', SpriteFrame, () => {});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值