我有一个带图像的游戏 - 我想在游戏开始之前默默地缓存它们。因此,我可以有两种情况:
OR
对于第二种情况,我可以向缓存函数传递一个回调来运行游戏。但由于第一种情况可能发生,我不能这样做,因为我也必须等待用户。
所以现在我正在考虑使用全局(ouch)变量作为回调onGameStart
。默认情况下它会显示进度,但缓存回调会做两件事 - 重置onGameStart
以实际启动游戏,并检查游戏是否已启动,如果是,则会立即继续。
我错过了什么吗?这是正确的模式吗?
答案 0 :(得分:1)
当ResourceManager获取所有资源时获取通知的ResourceObserver怎么样?然后你的游戏保持状态,如果用户在通知之前开始游戏,使用进度通知来更新屏幕,否则,只需跳到游戏。
TL; DR:Observer + State Machine。