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斯密达了。正在寻找可靠的新方法