unscheduleAllCallbacks方法没用作用

update: function (dt) {
cc.log(dt);
this.unscheduleAllCallbacks();
}
我直接调这样写,但是update方法还是不会暂停,unscheduleAllCallbacks这个方法有用????怎么暂停update啊

试试看:cc.dirctor.getScheduler().unscheduleUpdate(要停止的节点)

没有效果,难道这个update不是在这个this里面的吗

无语,论坛里面没人用过update方法???没人试过去停?

组件上的 update 不等于 schedule 的 update
想要暂停 组件上的 update 可以通过设置一个变量例如:

update: functtion (dt) {
   if (pause) {
      return;
   }
   cc.log(dt);
}

另外为啥要暂停 update 呢?

1赞

因为我有一个回调是在进游戏的时候就注册的,如果我用cc.direct.pause()这个方法暂停游戏,我一开始的回调也会给暂停了。我游戏结束需要暂停界面然后弹出结算弹窗,但是暂停的时候我又不能全暂停,因为我还需要接收服务器返回的消息后再弹窗,如果全暂停服务器返回的东西就收不到了

你的意思是渲染层暂停,逻辑层不暂停对吧?

是的,最主要是暂停后,好像收不到服务器传回的数据了

Component update 是基于事件触发的,并不是 Scheduler 管理的,你可以用 component.enable = false 来暂停你的组件

1赞