我正在设计一个有多个关卡的游戏。我有一个定义为单例(称为MasterScene)的CCLayer,我可以在其中处理暂停页面、过渡页面、球员得分横幅……所有的东西都是所有级别的。因此,在每个级别中,当用户按下暂停按钮时,将调用单例以显示与暂停页面相对应的CClayer。我的问题是,我想知道谁调用了单例(哪个级别) t。有什么方法可以做到这一点吗?谢谢
发布于 2011-01-05 08:14:43
在不了解更多应用程序架构的情况下,我会建议三种可能的方法:
发布于 2011-01-05 08:48:51
没有一种通用的方法可以像你要求的那样定位消息的来源。
然而,对于你的应用程序,有一些替代的架构可以解决这个问题,我鼓励你考虑一下。您所描述的听起来像是一堆相互依赖的类。你所有的级别都知道并使用这个MasterScene单例,现在你试图让这个单例也知道每一个级别?你的应用程序的每一部分都不需要知道其他的。
发布于 2011-01-05 08:56:29
你可以把它作为参数传入,例如:
@implementation Level30
-(void) pause;
{
[[MasterScene getSingleton] pauseWithLevel:self];
}
@endhttps://stackoverflow.com/questions/4599668
复制相似问题