我在用甜瓜做一个HTML5游戏。我的一个整体(名为ET1)需要监听两个事件: pointerup和pointerdown。我的事件在我的game.js文件中注册,如下所示:
me.input.registerPointerEvent("pointerup", me.game.viewport, function (event) {
me.event.publish("pointerup", [ event ]);
});
me.input.registerPointerEvent("pointerdown", me.game.viewport, function (event) {
me.event.publish("pointerdown", [ event ]);
});在我的ET1项目中,我正在收听这两个事件:
this.handler = me.event.subscribe("pointerup", function (event) {
...
});
this.handlerDown = me.event.subscribe("pointerdown", function (event) {
...
});当触发pointerdown事件时,我将更新一个本地属性,如果该属性达到某个值,则希望从update方法手动触发pointerup事件:
update : function (dt) {
this.handler = me.event.subscribe("pointerup", function (event) {
...
});
this.handlerDown = me.event.subscribe("pointerdown", function (event) {
...
});
localVar++;
if(localVar > 10){
// trigger pointerup event
}
}现在,我可以使用event.publish使用registerPointerEvent回调,但我不知道如何从完全更新方法中执行此操作。知道吗?
发布于 2016-03-04 02:13:35
如果您不对事件对象做任何事情,您可以手动发布"pointerup“消息,就像订阅它们一样:
me.event.publish("pointerup", [{}]);{}这里意味着替换事件对象,尽管您也可以传递它,因为它在全局范围内是可用的
https://stackoverflow.com/questions/35750814
复制相似问题