cocos creator 学习笔记(四)——节点与资源篇

这篇博客详细介绍了Cocos Creator中节点的创建、克隆、销毁,以及场景加载和切换的技巧。讨论了Asset类资源和Raw Asset资源的区别与加载方法,包括动态加载、资源释放和批量加载。此外,还强调了资源管理和释放对于游戏性能的重要性,特别是在资源关联与内存占用方面。
摘要由CSDN通过智能技术生成

回顾一下,我们在前面学习了脚本文件中不同的回调函数对应的功能。如何访问自身和其它节点与组件,以及常用的节点组件的接口功能。接下来开始第四篇的学习。

1、创建新节点——new cc.Node()

start : function ( ) {
  var node = new cc.Node('Sprite');        //new cc.Node() 方法创建了定义为node的新节点
  var sp = node.addComponent(cc.Sprite);    //为新节点node加入Sprite组件命名为sp

  sp.spriteFrame = this.sprite;            //初始化sp组件
  node.parent = this.node;                //为新节点设置父节点
},

2、克隆已有节点——cc.instantiate

start : function (){
  var scene = cc.director.getScene();       //得到一个场景变量,cc.director提供的API
  var node = cc.instantiate(this.target);    //克隆一个和this.target节点相同的节点

  node.parent = scene;                       //设置新节点的父节点
  node.setPosition(0,0);                       //设置新节点的位置
},

3、创建预制节点和克隆节点的方法完全相同——cc.instantiate

只是this.target指向的目标类型不同——一个是cc.Node ; 另外一个是 cc.Prefab。

4、销毁节点——node.destory()

start : function () {
  setTimeout(function(){                    //设置了一个setTimeout函数,用来延时。第一个参数是执行功能,第二个参数是时间,5000毫秒
                this.target.destory();
                       }.bind(this),5000);    //这里对this.target进行销毁,之后这个bind(this)百度一下是绑定this指针的朝向;因为我们之后还会对这个对象检测是否销毁成功,所以这里绑定了一下。
},
update : function(dt){
  if(cc.isValid(this.target)){                //cc.isValid()判断指向节点是否被销毁。
    this.target.rotation += dt * 10.0;        //未被销毁则节点每帧转10度(+= dt * 10.0)
  }
},

4、我们的游戏不可能只有一个场景,所以接下来学习加载和切换场景。

加载场景:

cc.director.loadScene("MyScene");    //cc.director.loadScene 参数为场景名""记得双引号,不含后缀

常驻节点:场景的切换会摧毁所有节点和实例——常驻节点可以在转场操作中保持不变

cc.game.addPersistRootNode(myNode);    //设置节点为常驻

cc.game.removePersistRootNode(myNode);    //取消节点常驻属性

场景加载回调:

cc.director.loadScene("MyScene", onSceneLaunched);   

//这里给loadScene添加了第二个参数,这个参数就是声明在本脚本中的一个回调函数,专门用来在加载场景后完成组发的初始化和数据传递操作。——为了保证回调函数不会被摧毁,所以通常会绑定到常驻节点上。

预加载场景

我们可以提前在后台静默加载新场景,并手动按钮切换以保持流畅性。

cc.director.preloadScene("table",f
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值