3
回答
cocos2d-js有会的吗?怎么监听鼠标和触摸事件?
【腾讯云】学生服务器套餐10元/月 >>>   

我添加了一个菜单,然后我想在鼠标按下这个菜单和鼠标弹起这两个事件是有不同反应,怎么搞?给个例子。

触摸事件也是类似!

举报
共有3个答案 最后回答: 4年前

这样算是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函数第二个参数可以是一个节点,然后需要在函数里面自己判断当前的点击范围是不是在指定的节点里面。
我说怎么这个画布点击都有反应呢!

引用来自“雲瑜”的评论

本想回答的,原来你已经解决了

var act_1 = new cc.MoveBy(3, cc.p(0, -350));
        var act_2 = new cc.MoveBy(3, cc.p(0, 350));
        var act_3 = new cc.callFunc(this.doHide, this);

        var act = new cc.sequence(act_1, act_2, act_3,);
        this._sprite.runAction(act);


    doHide:function (sender) {
    },
//這樣 act_3 就是在最後再執行的動作,回調動作
顶部