cc.Component 的使用
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 的使用的更多相关文章
- <8>Cocos Creator组件开发cc.Component
1.组件简介 组件是Cocos Creator的主要构成,渲染(场景显示内容).逻辑.用户输入反馈.计时器等等几个方面都是由组件完成的.根据Cocos Creator的总体架构,组件和节点配合完成游戏 ...
- cc.Component
组件入口函数1: onLoad: 组件加载的时候调用, 保证了你可以获取到场景中的其他节点,以及节点关联的资源数据;2: start: 也就是第一次执行 update 之前触发;3: update(d ...
- cc.Lable组件,RichText组件,AudioSouce组件的使用
一.cc.Lable组件的使用 1.创建Label的方法 a.通过菜单直接创建Label组件:b.先创建节点,然后在节点上绑定Label组件即可. 2.Label 面板上的属性 String => ...
- Cocos Creator cc.Button (脚本事件内容)
cc.Class({extends: cc.Component,properties: {}, onLoad: function () { var clickEventHandler = new cc ...
- Cocos Creator cc.Event点击触摸事件详解
cc.Event事件请不要直接创建 cc.Event 对象,因为它是一个抽象类,请创建 cc.Event.EventCustom 对象来进行派发. cc.Class({extends: cc.Comp ...
- cc.Button
cc.Button 1:添加按钮的方法 (1)直接创建带Button组件的节点; (2)先创建节点,再添加组件;2:按钮组件, 按钮是游戏中最常用的组件, 点击然后响应事件;3: 按钮的过渡效果: ...
- cc.Node—场景树
对于cc.Node我分了四个模块学习: 1.场景树,2.事件响应,3.坐标系统,4.Action的使用:在此记录经验分享给大家. 场景树 1: creator是由一个一个的游戏场景组成,通过代码逻辑来 ...
- cocos学习笔记:快速上手
cc.Class({ //奇怪的语法风格,cc.class, extends: cc.Component, //扩展自cc.Component properties: { //类的属性设置 jumpH ...
- ccc 多点触控2
经过不断的思考发现,如果是两个sprite都添加触控的时候,往往直接成单点触控, 但是如果是两个node的时候在node上面点击就会变成多点触控的形式 cc.Class({ extends: cc.C ...
随机推荐
- PHP整洁之道
摘录自 Robert C. Martin的Clean Code 书中的软件工程师的原则 ,适用于PHP. 这不是风格指南. 这是一个关于开发可读.可复用并且可重构的PHP软件指南. 并不是这里所有的原 ...
- JAVA并发包学习
1)CyclicBarrier一个同步辅助类,允许一组线程相互等待,直到这组线程都到达某个公共屏障点.该barrier在释放等待线程后可以重用,因此称为循环的barrier 2)CountDownLa ...
- LODOP直线px转换mm变斜线
LODOP中打印项顶边距左边距,宽高,可以选择的单位很多,详细可在LODOP官网下载参考LODOP技术手册. 关于LODOP打印直线和虚线,可查看本博客相关博文:Lodop如何打印直线.Lodop打印 ...
- react-navigation 简介
StackNavigator: 原理和浏览器相似但又有局限,浏览器的方式是开放性的,通过点击一个链接可以跳转到任何页面(push),点击浏览器后退按钮,返回到前一个页面(pop).StackNavig ...
- socket编程初识
一.socket 1.socket层 2.socket的理解 写python代码的时候socket就像是一个模块,通过import导入,通过调用模块中的方法建立两个进程之间的连接和通信. Socket ...
- Java连接远程Mysql过程中遇到的各种问题
2018-11-16 10:46 2018-11-19 21:35 前言 本篇文章记录的是本人在使用Java程序连接另一台电脑(同一局域网)上的Mysql数据库的过程中遇到的各种问题及解决方案.希望能 ...
- jenkins在windows及linux环境下安装
下载 下载地址: https://jenkins.io/download/ 下载windows和linux通用的war包 jenkins在windows下安装 前提:已经安装jdk.tomcat 将w ...
- bzoj5028小Z的加油店(线段树+差分)
题意:维护支持以下两种操作的序列:1 l r询问a[l...r]的gcd,2 l r x把a[l...r]全部+x 题解:一道经典题.根据gcd(a,b)=gcd(a-b,b)以及区间加可知,这题可以 ...
- 老男孩Python全栈学习 S9 日常作业 006
1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...
- 1.4分布式-通讯协议TCP/IP
服务器和浏览器的通讯依靠http协议,今天就来分析一下http协议的具体内容以及https的加密过程.除了这些协议,为了增加服务器和浏览器交互的可拓展性,也出现了rest风格的请求方式,方便调用接口. ...