游戏开发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
    评论
Cocos Creator 3.X中实现技能功能,可以按照以下步骤进行: 1. 创建角色和技能动画:首先创建角色和技能动画资源。可以使用Cocos Creator提供的动画编辑器创建角色的动作动画和技能的特效动画。 2. 创建技能节点:在场景编辑器中创建一个节点,作为技能的容器。将角色和技能动画添加到该节点中。 3. 创建技能脚本:创建一个脚本组件,用于控制技能的逻辑和触发。可以使用以下代码作为参考: ```javascript cc.Class({ extends: cc.Component, properties: { skillAnimation: { default: null, type: cc.Animation, }, }, start() { // 监听触发技能的事件,比如按下技能按钮或者角色碰撞到触发器等 // 播放技能动画 this.skillAnimation.play('skill_animation'); // 在适当的时机执行技能逻辑,比如造成伤害、释放特效等 this.scheduleOnce(() => { // 执行技能逻辑 // 技能结束后的处理 this.skillEnd(); }, 1); // 1秒后执行技能逻辑 }, skillEnd() { // 技能结束后的处理,比如重置状态、切换动画等 this.skillAnimation.stop(); }, }); ``` 4. 绑定脚本和节点:将技能脚本组件绑定到技能节点上。在场景编辑器中选中技能节点,然后在属性检查器中点击“添加组件”,选择之前创建的脚本。 5. 触发技能:根据你的需求,在适当的时机触发技能。可以通过按钮点击、键盘事件、角色碰撞等方式触发技能。 通过以上步骤,你就可以在Cocos Creator 3.X中实现技能功能了。记得根据你的具体需求进行适当的修改和扩展,比如添加技能的效果、音效等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值