// 球碰到桌子
cc.Class({
    extends: cc.Component,

    properties: {
        g: {
            default: null,
            type: cc.Graphics,
        },
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start () {

    },

    // 球磕碰
    bump:function(loc) {
        this.bumpLoc = loc;
        this.bumpTime = 0;

        this.schedule(this.bumpUpdate, 1 / 60.0);
    },

    // 磕碰动画
    bumpUpdate:function(delay) {
        this.g.clear();
        this.bumpTime += delay;

        var timeScale = 15;
        var space = 1;
        var low = 2.5;
        var high = 10;

        // 右上
        this.g.lineWidth = 3;
        this.g.moveTo(this.bumpLoc.x + space + this.bumpTime * timeScale * low, this.bumpLoc.y + space + this.bumpTime * timeScale * low);
        this.g.lineTo(this.bumpLoc.x + space + this.bumpTime * timeScale * high, this.bumpLoc.y + space + this.bumpTime * timeScale * high)
        this.g.stroke();

        // 右下
        this.g.lineWidth = 3;
        this.g.moveTo(this.bumpLoc.x + space + this.bumpTime * timeScale * low, this.bumpLoc.y - space - this.bumpTime * timeScale * low);
        this.g.lineTo(this.bumpLoc.x + space + this.bumpTime * timeScale * high, this.bumpLoc.y - space - this.bumpTime * timeScale * high)
        this.g.stroke();

        // 左上
        this.g.lineWidth = 3;
        this.g.moveTo(this.bumpLoc.x - space - this.bumpTime * timeScale * low, this.bumpLoc.y + space + this.bumpTime * timeScale * low);
        this.g.lineTo(this.bumpLoc.x - space - this.bumpTime * timeScale * high, this.bumpLoc.y + space + this.bumpTime * timeScale * high)
        this.g.stroke();

        // 右下
        this.g.lineWidth = 3;
        this.g.moveTo(this.bumpLoc.x - space - this.bumpTime * timeScale * low, this.bumpLoc.y - space - this.bumpTime * timeScale * low);
        this.g.lineTo(this.bumpLoc.x - space - this.bumpTime * timeScale * high, this.bumpLoc.y - space - this.bumpTime * timeScale * high)
        this.g.stroke();

        if (this.bumpTime > 0.1) {
            this.unschedule(this.bumpUpdate);
        }
    },
});
