Cocos Creator 创建和销毁节点(官方文档摘录)
2016-11-30 18:49
661 查看
创建新节点
除了通过场景编辑器创建节点外,我们也可以在脚本中动态创建节点。通过new cc.Node()并将它加入 到场景中,可以实现整个创建过程。以下是一个简单的例子:
cc.Class({ extends: cc.Component, properties: { sprite: { default: null, type: cc.SpriteFrame, }, }, start: function () { var node = new cc.Node('sprite ' + this.count); var sp = node.addComponent(cc.Sprite); sp.spriteFrame = this.sprite; node.parent = this.node; node.setPosition(0,0); }, });
克隆已有节点
有时我们希望动态的克隆场景中的已有节点,我们可以通过cc.instantiate方法完成。使用方法如下:
cc.Class({ extends: cc.Component, properties: { target: { default: null, type: cc.Node, }, }, start: function () { var scene = cc.director.getScene(); var node = cc.instantiate(this.target); node.parent = scene; node.setPosition(0,0); }, });
创建预置节点
和克隆已有节点相似,你也设置你的预置(prefab)节点并通过cc.instantiate生成。使用方法如下:
cc.Class({ extends: cc.Component, properties: { target: { default: null, type: cc.Prefab, }, }, start: function () { var scene = cc.director.getScene(); var node = cc.instantiate(this.target); node.parent = scene; node.setPosition(0,0); }, });
销毁节点
通过node.destroy()函数,可以销毁节点。值得一提的是,销毁节点并不会立刻发生,而是在当前 帧逻辑更新结束后,统一执行。当一个节点销毁后,该节点就处于无效状态,可以通过
cc.isValid判断 当前节点是否已经被销毁。使用方法如下:
cc.Class({ extends: cc.Component, properties: { target: cc.Node, }, start: function () { setTimeout(function () { this.target.destroy(); }.bind(this), 5000); }, update: function (dt) { if ( !cc.isValid(this.target) ) { this.enabled = false; return; } this.target.rotation += dt * 10.0; }, });
相关文章推荐
- Cocos Creator 创建和销毁节点(摘自官方文档)
- Cocos Creator 访问节点和组件(官方文档摘录)
- Cocos Creator 常用节点和组件接口(官方文档摘录)
- Cocos Creator使用 cc.Class 声明类型(官方文档摘录)
- Cocos Creator 监听和发射事件(官方文档摘录)
- Cocos Creator 生命周期回调(官方文档摘录)
- Cocos Creator 加载和切换场景(官方文档摘录)
- Cocos Creator中使用计时器(官方文档摘录)
- Cocos Creator 访问节点和组件(摘自官方文档)
- Cocos Creator 加载和切换场景(官方文档摘录)
- Cocos Creator 生命周期回调(官方文档摘录)
- Cocos Creator 访问节点和组件(摘自官方文档)
- Cocos Creator中获取和加载资源(官方文档摘录)
- Cocos Creator中使用动作系统(官方文档摘录)
- Cocos Creator 常用节点和组件接口(摘自官方文档)
- Cocos Creator 使用计时器(官方文档摘录)
- 【Symfony2官方文档翻译】Book07:创建和使用模板
- Android官方入门文档[16]创建一个Fragment代码片段
- 摘录:官方文档对ROWID虚拟行的定义
- AndroidWear官方文档总结04 - 创建Android Wear 项目