新人求助,那位教我把官方例子改一下


做的是一个多点触摸的功能
我要把中间的那个球,变成预制体生成,不把他摆在场景里面,实现相同的功能
那位大神帮忙看看
NewProject.zip (3.6 MB)
代码如下
cc.Class({

extends: cc.Component,

properties: {

    canvas: cc.Node,

    //follower:cc.Prefab,

    follower: {

        default: null,

        type: cc.Node

    },

    followSpeed: 500

},

// use this for initialization

onLoad: function () {

    var self = this;

    self.moveToPos = cc.v2(0, 0);

    self.isMoving = false;

    self.canvas.on(cc.Node.EventType.TOUCH_START, function (event) {

        var touches = event.getTouches();

        var touchLoc = touches[0].getLocation();

        self.isMoving = true;

        self.moveToPos = self.follower.parent.convertToNodeSpaceAR(touchLoc);

    }, self.node);

    self.canvas.on(cc.Node.EventType.TOUCH_MOVE, function (event) {

        var touches = event.getTouches();

        var touchLoc = touches[0].getLocation();

        self.moveToPos = self.follower.parent.convertToNodeSpaceAR(touchLoc);

    }, self.node);

    self.canvas.on(cc.Node.EventType.TOUCH_END, function (event) {

        self.isMoving = false; // when touch ended, stop moving

    }, self.node);

},

// called every frame

update: function (dt) {

    if (!this.isMoving) return;

    var oldPos = this.follower.position;

    // get move direction

    var direction = this.moveToPos.sub(oldPos).normalize();

    // multiply direction with distance to get new position

    var newPos = oldPos.add(direction.mul(this.followSpeed * dt));

    // set new position

    this.follower.setPosition(newPos);

}

});