1、组件入口函数,常有的:onLoad,start,update

    //组件在加载的时候运行,并且场景的初始化工作已经完成
onLoad() {
},
//组件在第一次update调用之前调用
start() {
},
//每次游戏刷新的时候调用,dt距离上一次刷新的时间,画面更新前调用
update(dt) {
},
//画面更新后调用
lateUpdate(dt) {
},
//组件被激活的时候调用
onEnable() {
},
//组件被禁用的时候调用
onDisable() {
},
//组件实例被销毁的时候调用
onDestroy() {
}

2、组件的重要属性

在组件里面

this=>当前运行的组件实例,

this.node=>组件所挂载的节点对象

this.name=>组件实例所挂载节点的名称<组件名称>

this.node.name=>组件实例所挂载的名称

properties属性列表

properties: {
//基本数据类型:数值,字符串,布尔值
speed: 100,
is_debug: false,
string: '',
//color,pos,size
color: cc.color(0, 0, 0, 255),
pos: cc.v2(0, 0),
size: cc.size(100, 100),
//系统组件
/*
组件{
type:组件类型 //cc.Sprite, cc.Label
default:null //值可以是null || [] 前者表示一个值,后者则可以挂载多个组件
}
*/
my_con: {
type: cc.Sprite,
default: null
}, //自定义的属性,步骤
/*
首先要在场景上绑定js组件,
在需要用到的JS文件里引入模块 如 let test=require('test');
在properties里面进行声明如下
*/
my_test: {
type: test,
default: null
}
},

3、组件的操作

 注意:以上方法在this下可以调用,同时在this.node节点下也是可以被调用的,并且如果有绑定的脚本,那么可以利用getComponent来获取这个脚本,并且可以运行脚本里面暴露出来的API

    let item = this.node.getChildByName('bg');
let sp = set.getComponent(cc.Sprite);
console.log(sp);
//输出 cc_Sprite {_super: null, _name: "", _objFlags: 57344, node: cc_Node, __scriptAsset: false, …}

4、shedule 定时器操作

    let item = this.my_con.node;
//注意被删除的组件,被隐藏的,没有被激活的组件是不会执行定时器的
//执行一次
this.scheduleOnce(function () {
console.log(this);
}.bind(item), 1);
//指定次数以及执行时间的定时器,执行2次,注意:次是为n+1次
this.schedule(function () {
console.log('are you ok???');
}.bind(item), 1, 1, 0);
//永远执行,如果省略了后面的参数,那么也就是默认永远执行
this.schedule(function () {
console.log('are you ok???');
}.bind(item), 1, cc.macro.REPEATE_FOREVER, 0); let test = function () {
console.log('today is good day');
console.log(this);
//unscheduleAllCallbacks 取消全部的定时器操作
// this.unscheduleAllCallbacks();
}.bind(this);
//执行定时器
this.schedule(test, 1);
//5秒后取消指定的定时器
this.scheduleOnce(function () {
this.unschedule(test);
}.bind(this), 5);

cc.Component 的使用的更多相关文章

  1. <8>Cocos Creator组件开发cc.Component

    1.组件简介 组件是Cocos Creator的主要构成,渲染(场景显示内容).逻辑.用户输入反馈.计时器等等几个方面都是由组件完成的.根据Cocos Creator的总体架构,组件和节点配合完成游戏 ...

  2. cc.Component

    组件入口函数1: onLoad: 组件加载的时候调用, 保证了你可以获取到场景中的其他节点,以及节点关联的资源数据;2: start: 也就是第一次执行 update 之前触发;3: update(d ...

  3. cc.Lable组件,RichText组件,AudioSouce组件的使用

    一.cc.Lable组件的使用 1.创建Label的方法 a.通过菜单直接创建Label组件:b.先创建节点,然后在节点上绑定Label组件即可. 2.Label 面板上的属性 String => ...

  4. Cocos Creator cc.Button (脚本事件内容)

    cc.Class({extends: cc.Component,properties: {}, onLoad: function () { var clickEventHandler = new cc ...

  5. Cocos Creator cc.Event点击触摸事件详解

    cc.Event事件请不要直接创建 cc.Event 对象,因为它是一个抽象类,请创建 cc.Event.EventCustom 对象来进行派发. cc.Class({extends: cc.Comp ...

  6. cc.Button

    cc.Button 1:添加按钮的方法 (1)直接创建带Button组件的节点; (2)先创建节点,再添加组件;2:按钮组件, 按钮是游戏中最常用的组件, 点击然后响应事件;3: 按钮的过渡效果:  ...

  7. cc.Node—场景树

    对于cc.Node我分了四个模块学习: 1.场景树,2.事件响应,3.坐标系统,4.Action的使用:在此记录经验分享给大家. 场景树 1: creator是由一个一个的游戏场景组成,通过代码逻辑来 ...

  8. cocos学习笔记:快速上手

    cc.Class({ //奇怪的语法风格,cc.class, extends: cc.Component, //扩展自cc.Component properties: { //类的属性设置 jumpH ...

  9. ccc 多点触控2

    经过不断的思考发现,如果是两个sprite都添加触控的时候,往往直接成单点触控, 但是如果是两个node的时候在node上面点击就会变成多点触控的形式 cc.Class({ extends: cc.C ...

随机推荐

  1. Flask--路由, 配置, 蓝图

    一 . 双重装饰器重名的解决办法 # 我们都知道flask中的@app.route就是一层装饰器, 当我们需要在给视图函数加装饰器的时候就两层装饰器,这里介绍一下加装饰器的先后顺序,以及遇到的问题. ...

  2. Java基础:Java变量、数据类型、运算符(2)

    1. 标识符和关键字 1.1 标识符 标识符是用来标识类名.对象名.变量名.方法名.类型名.数组名.文件名的有效序列. Java规定,标识符由字母.数字.下划线“_”.美元符号“$”组成,并且首字母不 ...

  3. python之常用模块一(time、random、os、sys)

    摘要:时间模块time .随机模块random .os模块.sys模块 一.时间模块 三种格式 时间戳时间:浮点数 单位为秒 时间戳起始时间: 1970.1.1 0:0:0 英国伦敦时间 1970.1 ...

  4. 两小时入门Docker

    引入 Docker是什么? Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议 ...

  5. 安全工具acunetix使用

    今天来主要介绍了安全测试工具AWVS(acunetix web vulnerability scanner)的使用 1)  安装包的下载地址:https://github.com/jiyanjiao/ ...

  6. mongoDB 数据库简介

    背景概念-数据库类型 对比关系型数据库 优点 : 逻辑清晰.容易理解,结构类似表格 使用 sql 语句技术成熟,使用方便 数据一致性好,完整性好 关系型数据库比较成熟,可以使用一些复杂操作 缺点 : ...

  7. C++ 动态链接库 DLL 的一些笔记

    DLL 文件源代码: // test.h #ifdef TEST_EXPORTS #define TEST_API __declspec(dllexport) #endif class TEST_AP ...

  8. VMware虚拟机无法上网 无法启动VMnet0等问题【转载】

    http://www.linuxidc.com/Linux/2015-05/117704.htm VMware虚拟机无法上网,由于之前安装过VMware虚拟机,后来将它卸载了,然后重新安装,最后出现了 ...

  9. 全基因组关联分析(GWAS)扫不出信号怎么办(文献解读)

    假如你的GWAS结果出现如下图的时候,怎么办呢?GWAS没有如预期般的扫出完美的显著信号,也就没法继续发挥后续研究的套路了. 最近,nature发表了一篇文献“Common genetic varia ...

  10. JAVA发红包案例

    模拟拼手气红包* 对于指定总金额以及红包个数,可以生成不同金额的红包,*,每个红包金额随机生成. * 分析这个题目:* 1.首先需要一个分发红包的方法.输入的参数是 总金额 以及 红包个数.* 按照这 ...