Sushi一直掉落,鼠标点中消失,点击的事件添加到了层里面,可是一直点不中Sushi,而是点中了层,难道每个Sushi精灵都要添加事件监听吗?求高手指
var StartLayer=cc.Layer.extend({
ctor:function(){
this._super();
this.SushiSprites = ];
var size=cc.winSize;
this.bgSprite=new cc.Sprite(res.BackGround_png);
this.bgSprite.attr({
x:size.width/2,
y:size.height/2,
rotation: 180
});
this.setTag(10);
this.bgSprite.setTag(5);
this.addChild(this.bgSprite);
var startItem=new cc.MenuItemImage(
res.CloseNormal_png,
res.CloseSelected_png,
function(){
cc.log(“Menu is clicked!”);
cc.director.runScene(new PlayScene());
},this);
var menu =new cc.Menu(startItem);
menu.x=size.width/2;
menu.y=size.height/2;
this.addChild(menu,2);
this.schedule(this.update,1,16,1);//添加Sushi
this.schedule(this.removeSushi,1,18,1);//删除Sushi
this.addTouchEventListenser();//监听整个层
cc.log("StartLayer Constructor");
return true;
},
onEnter:function () {
cc.log("onEnter");
this._super();
},
onExit:function () {
cc.log("onExit");
} ,
addSushi : function(){
//cc.log("this is sushi");
var sushi =new cc.Sprite(res.Sushi_png);
var size = cc.winSize;
var x= sushi.width/2+size.width/2*cc.random0To1();
sushi.attr({
x:x,
y:size.height-30,
});
sushi.setTag(2);
this.addChild(sushi);
var dorpAction=cc.MoveTo.create(4,cc.p(sushi.x,-60));
sushi.runAction(dorpAction);
this.SushiSprites.push(sushi);
},
update : function(){
this.addSushi();
//this.removeSushi();
//cc.log("make sushi");
},
removeSushi : function() {
for (var i = 0; i < this.SushiSprites.length; i++) {
if(0 >= this.SushiSprites*.y) {
this.SushiSprites*.removeFromParent();
this.SushiSprites* = undefined;
this.SushiSprites.splice(i,1);
i= i-1;
}
}
},
addTouchEventListenser:function(){
cc.log("addTouchEventListenser");
this.touchListener = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function (touch, event) {
var pos = touch.getLocation();
var target = event.getCurrentTarget();
cc.log("touched---"+target.getTag());
if (target.getTag()==2 && cc.rectContainsPoint(target.getBoundingBox(),pos)) {//判断是否点中Sushi,如果是,移除
cc.log("touched--------");
for (var i = 0; i < this.SushiSprites.length; i++) {
if(target== this.SushiSprites*) {
this.SushiSprites*.removeFromParent();
this.SushiSprites* = undefined;
this.SushiSprites.splice(i,1);
break;
}
}
cc.log("X:"+pos.x+"-Y:"+pos.y);
return true;
}
return false;
}
});
cc.eventManager.addListener(this.touchListener,this);
}
});
var StartScene=cc.Scene.extend({
onEnter:function(){
this._super();
var layer=new StartLayer();
this.addChild(layer);
}
});******
菜鸟求助呀