cc.Component



var my_item=require("my_item");
cc.Class({
    extends: cc.Component,
//属性列表
    properties: {
        label: {
            default: null,
            type: cc.Label
        },
        // defaults, set visually when attaching this script to the Canvas
        text: 'Hello, World!',
        speed:100,
        is_debug:false,
        url_str:"",
        color:cc.color(0,0,0,255),
        pos:cc.p(0,0),
        size:cc.size(100,100),
        sprite_item:{
            type:cc.Sprite,//系统组件
            default:null
        },
        sprite_array:{
            type:cc.Sprite,
            default:null
        },
        customer_item:{
            type:my_item,//用户组件
            default:null
        }
    },

    // use this for initialization
    //组件在加载的时候运行
    onLoad: function () {
        this.label.string = this.text;
    },
    //组件在第一次update之前调用
    start:function(){
        console.log("start");
        this.addComponent("my_item");//添加自定义的组件
        var com_list=this.addComponent("my_item");
        com_list=this.node.addComponent("my_item");

        //查找实例
        com_list = this.getComponent("my_item");//返回的是第一个找到的组件
    
        var com_array=this.getComponents("my_item");//返回的是组件列表
        //启动定时器,节点或者组件必须是激活状态,如果是隐藏状态,则无法启动定时器
        //这里只会触发一次调用
        this.scheduleOnce(function(){
            console.log("scheduleOnce");
        }.bind(this));

        //schedule(函数,多长时间调一次,次数(永远),隔多少秒以后执行schedule)

        this.schedule(function(){
            console.log("schedule");
        }.bind(this),1,6,5);//5秒以后,每隔1秒,调用6+1次函数,如果是永远,需要把6改为:cc.macro.REPEAT_FOREVER


        //10秒钟后取消掉所有的定时器
        this.scheduleOnce(function(){
            this.unscheduleAllCallbacks();
        }.bind(this),10);

        var callback=function(){
            console.log(this);
        }.bind(this);
        this.schedule(callback,0.5);//0.5后,默认永远执行,马上开始

        //5秒后取消了定时器
        this.scheduleOnce(function(){
            this.unschedule(callback);//取消了定时器
        }.bind(this));
    },
    onDestroy:function(){
        this.destroy();//删除当前的组件实例
    },
    
    // called every frame
    update: function (dt) {

    },
    lateUpdate:function(dt){
        console.log("lateUpdate:"+dt);

    }
});


您可能还会对下面的文章感兴趣: