新手。
我添加了一个菜单,然后我想在鼠标按下这个菜单和鼠标弹起这两个事件最初不同反应,怎么搞?给个例子。
我现在这样搞的:
var PlayButtonSprite = cc.MenuItemImage.extend({
onEnter : function () {
cc.log("menu enter");
this.addMouseListenser();
},
addMouseListenser : function () {
cc.eventManager.addListener(cc.EventListener.create({
event : cc.EventListener.MOUSE,
onMouseDown : function(event) {
cc.log("Mouse Down");
},
onMouseUp : function(event) {
cc.log("Mouse Up");
}
}), this);
}
});
运行点击的时候报错:
JS: <no filename="filename">:0:0 is not a function
什么意思啊?
这样算是OK了:
cc.eventManager.addListener(cc.EventListener.create({
event : cc.EventListener.MOUSE,
onMouseDown : function(event) {
var pos = event.getLocation();
var target = event.getCurrentTarget();
if( cc.rectContainsPoint(target.getBoundingBox(), pos) ) {
cc.log("Mouse Down");
return true;
}
return false;
},
onMouseUp : function(event) {
var pos = event.getLocation();
var target = event.getCurrentTarget();
if( cc.rectContainsPoint(target.getBoundingBox(), pos) ) {
cc.log("Mouse up");
return true;
}
return false;
}
}), playButton);
大概我的理解是这样的:
addListener函数第二个参数可以是一个节点,然后需要在函数里面自己判断当前的点击范围是不是在指定的节点里面。
我说怎么这个画布点击都有反应呢!