在phaser中,有一个onAdvance方法, 该方法在参与者数量为0的时候,返回true,来表示该phaser状态为终止状态。它在phaser阶段改变的时候会自动执行。他需要两个参数,当前阶段数和注册的参与者数量。继承并覆盖phaser的 onAdvance 方法,来实现阶段切换的功能,要注意onAdvance方法中的 phase 是阶段的序号,在使用序号来判断的时候,需要注意动态注册的线程的序号会超出预期的阶段序号。
游戏闯关示例
场景描述:3个参赛者,参加闯关比赛,但是这个赛制比较奇怪,就是所有参赛者必须等到全部通关,才能开始下一关,官方会在每一个关卡开始前发号命令,报幕闯关开始,闯关结束后,也有谢幕的打印。
运行结果: