针对 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
:-
移除接口:
copyWithZone
、copy
、clone
和ensureLoadTexture
。 -
变更接口:
-
setFlipX
和isFlipX
->flipUVX
-
setFlipY
和isFlipY
->flipUVY
-
getTexture
和setTexture
->texture
(此处的类型是 Texture2D/RenderTexture)。
-
-
其余
get
和set
对应的方法在 3.0 中都直接对应同名属性(例如:getOffset
->offset
)。
-
-
CCTexture2D
:-
变更接口:
genMipmaps
->mipmaps
、initWithElement
->image
。 -
initWithData
整个方法被移除,类似的使用是将原先要传入的ArrayBufferView
数据,传给新建的ImageAsset
,然后再用ImageAsset
传给新建的Texture2D
,从而获得一份图片资源。
-
-
cc.Action
:相关接口全部移除。 -
物理:
-
2D 变更组件:
cc.Collider
->Collider2D
、cc.BoxCollider
->BoxCollider2D
、cc.RigidBody
->RigidBody2D
等。 -
3D 变更组件:
cc.Collider3D
->Collider
、cc.BoxCollider3D
->BoxCollider
、cc.RigidBody3D
->RigidBody
等。
-
-
tween:
- 变更接口:
cc.repeatForever
->Tween.repeatForever
、cc.reverseTime
->Tween.reverseTime
、cc.show
->Tween.show
等。
- 变更接口:
-
动画:
- 变更接口:
addClip
->createState
、getClips
->clips
、playAdditive
->crossFade
、getAnimationState
->getState
等。
- 变更接口:
-
相机:
-
移除接口:
findCamera
、alignWithScreen
、main
、cameras
、zoomRatio
和containsNode
。 -
变更接口:
backgroundColor
->clearColor
、cullingMask
->visibility
、depth
->clearDepth
、getScreenToWorldPoint
->screenToWorld
、getWorldToScreenPoint
->worldToScreen
、getRay
->screenPointToRay
等。
-
-
音频:
- 变更接口:
getLoop
和setLoop
->loop
、getVolume
和setVolume
->volume
、getCurrentTime
和setCurrentTime
->currentTime
、src
->clip
。
- 变更接口:
-
材质:
-
所有相关改动都需要获得 MeshRenderer 或其子类身上的 材质实例 来完成。
-
移除接口:
setBlend
、setDepth
、setStencilEnabled
、setStencil
、setCullMode
和define
,其中除了define
是调用recompileShaders
完成更新,其余的都是调用overridePipelineStates
完成更新。
-
-
sys 下的平台变量变更如下:
Cocos Creator 2.x | Cocos Creator 3.0 |
---|---|
BAIDU_GAME | BAIDU_MINI_GAME |
VIVO_GAME | VIVO_MINI_GAME |
OPPO_GAME | OPPO_MINI_GAME |
HUAWEI_GAME | HUAWEI_QUICK_GAME |
XIAOMI_GAME | XIAOMI_QUICK_GAME |
JKW_GAME | COCOSPLAY |
ALIPAY_GAME | ALIPAY_MINI_GAME |
BYTEDANCE_GAME | BYTEDANCE_MINI_GAME |
- 全局变量 变更如下:
Cocos Creator 2.x | Cocos Creator 3.0 |
---|---|
CC_BUILD | BUILD |
CC_TEST | TEST |
CC_EDITOR | EDITOR |
CC_PREVIEW | PREVIEW |
CC_DEV | DEV |
CC_DEBUG | DEBUG |
CC_JSB | JSB |
CC_WECHATGAME | WECHATGAME |
CC_RUNTIME | RUNTIME_BASED |
CC_SUPPORT_JIT | SUPPORT_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, () => {});