针对 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.xresources.load('background', cc.Texture2D, () => {});// v3.0resources.load('background/texture', Texture2D, () => {});
// 加载 sprite frame// v2.xresources.load('background', cc.SpriteFrame, () => {});// v3.0resources.load('background/spriteFrame', SpriteFrame, () => {});
下一篇:专升本C语言——第十章