你们游戏里面的暂停是怎么实现的?

cc.director.pause()会把所有的东西都暂停,包括我要弹出的暂停画面,有什么方法避免么

1赞

挂在一个节点上,暂停这个节点上的内容

调用什么来暂停,没找到有暂停node的方法,能说一下么

得看你游戏的暂停要什么功能的,如果只是屏蔽玩家操作,那就在最上层放一个暂停弹窗就可以了

一般你的游戏需要自己的状态控制,不要用系统级的运行态控制。
游戏一般来说是游戏场景,它有状态:开始,运行,暂停,结束。

除了屏蔽玩家操作,还有一些计时器,动画,我现在是想点击暂停按钮,除了暂停界面的东西外,其他的全部停了

那就在你的计时器里加个判断当前状态的,如果是暂停就不执行其它

除了计时器的,update里面有敌人移动操作,全部update里面都加上开始暂停状态?

你游戏应该有一个主update就够了,所有的操作都在这个update里执行

1赞
		/**
		!#en Pause all actions running on the current node. Equals to `cc.director.getActionManager().pauseTarget(node)`.
		!#zh 暂停本节点上所有正在运行的动作。和 `cc.director.getActionManager().pauseTarget(node);` 等价。
		
		@example 
		```js
		node.pauseAllActions();
		``` 
		*/
		pauseAllActions(): void;		
		/**
		!#en Resume all paused actions on the current node. Equals to `cc.director.getActionManager().resumeTarget(node)`.
		!#zh 恢复运行本节点上所有暂停的动作。和 `cc.director.getActionManager().resumeTarget(node);` 等价。
		
		@example 
		```js
		node.resumeAllActions();
		``` 
		*/
		resumeAllActions(): void;		
		/**
		!#en Stops and removes all actions from the running action list .
		!#zh 停止并且移除所有正在运行的动作列表。
		
		@example 
		```js
		node.stopAllActions();
		``` 
		*/
		stopAllActions(): void;		

包不包括计时器?

还是不行啊

stop()暂停 resume()恢复

你是用update吗?
如果是update,把你的敌人的动作封装起来,然后设一个变量flag当暂停时变量为false,false传给刚刚封装起来的函数,
if(false){
stopAllAction();
}

从canvas节点递归迭代子节点, 调用 node.pauseAllActions()
此时, 所有的内容都暂停, 但是后面新创建的内容不受影响
恢复运行也是递归迭代canvas的子节点, 调用 node.resumeAllActions()
这样写, 你原来的代码不需要做任何的改变

但是你不能使用 setTimeout / setInterval, 并且要保证所有的节点必须都在节点树里.

大佬,为什么我这调用完全没效果呢?

你调用什么

感觉你的想法有点奇怪,不都是通过状态来暂停的吗?这时候就算你暂停了,只是游戏逻辑暂停,你还可以操作其他东西。

本来就是要暂停游戏逻辑,其他的东西能操作

1.x这个方法可以。
DataManager.I.gameData.setLocalTimeScale(0);

2.x已经GG斯密达了。正在寻找可靠的新方法