给层添加事件

var ParkRotation = cc.Layer.extend({
parkNodeList: ],
angleParameter: {},
touchListener: null,
onEnter: function () {

    this.createPark();
    this.addTouchEventListenser();

},

//点击事件
addTouchEventListenser: function () {
    this.touchListener = cc.EventListener.create({
        event: cc.EventListener.TOUCH_ONE_BY_ONE,
        swallowTouches: true,
        onTouchBegan: this.onTouchBegan,
        onTouchMove: this.onTouchMove,
        onTouchEnded: this.onTouchEnded
    });
    cc.eventManager.addListener(this.touchListener, this);
},

onTouchBegan: function (touch, event) {
    cc.log("1");
    return true;
},

onTouchMove: function (touch, event) {
    var pos = touch.getLocation();
    cc.log(pos);
},

onTouchEnded: function (touch, event) {
    cc.log("2");
    var target = event.getCurrentTarget();
    target.getParent().dailyOpen = false;
    target.removeFromParent();
},

createPark: function () {
    var centerNode = new cc.Sprite(res.btn_0_png);
    centerNode.setPosition(cc.p(SIZE.WIDTH_HALF, SIZE.HEIGHT_HALF));
    centerNode.setAnchorPoint(0.5, 0.5);
    this.addChild(centerNode);
    for (var i = 0; i < 8; i++) {
        var parkNode = new cc.Sprite(res.btn_1_png);
        var parameter = this.angleValue(i);
        parkNode.setPosition(cc.p(parameter.x, parameter.y));
        parkNode.setAnchorPoint(0.5, 0.5);
        this.addChild(parkNode);
        this.parkNodeList* = parkNode;
    }
},

angleValue: function (i) {
    var angle = (360 / 8) * (i + 1);
    //Math是已弧度作为计算的,要想得到角度需要*Math.PI
    var x = SIZE.WIDTH_HALF + 120 * Math.cos(angle * Math.PI / 180);
    var y = SIZE.HEIGHT_HALF + 120 * Math.sin(angle * Math.PI / 180);
    this.angleParameter = {
        x: x,
        y: y
    }
    return this.angleParameter;
},

});
我想给当前层添加点击事件,这么写哪里错误了啊,为什么log打不出来呢*

onEnter 请加上 this._super()

哦哦,谢谢,这么简单的错误竟然没发现。。。

helloworldtoo,为你的眼神怒点一赞:876:

:14: :14: