从多个控制器调用方法

发布于 2024-10-22 02:18:27 字数 198 浏览 3 评论 0原文

我知道这个问题有一个简单的答案,但我确实无法正确执行它。

我正在制作一款游戏,每个级别都有一个控制器。当你击败一个关卡时,我想要一个能够加载并显示下一个关卡(即下一个控制器)的方法。我希望能够在每个控制器中使用相同的方法。

我的问题是在哪里创建该方法以及如何调用它?

我尝试过委托,将方法放入应用程序控制器等。我只是无法弄清楚这一点。

I know there's an easy answer to this out there but I sure haven't been able to execute it correctly.

I'm making a game where I have a controller for every level. When you beat a level, I want a method that will load and show the next level, i.e. the next controller. I want to be able to use this same method from every controller.

My question is where do I create the method and how do I call it?

I've tried delegates, putting the method in the application controller, etc. I just can't figure this one out.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

开始看清了 2024-10-29 02:18:27

RoorViewContoroller 或只是根控制器就是您所需要的。我也在做游戏,我使用的是Cocos2d-iphone游戏引擎。我将向您展示它是如何工作的。有一个通用类,作为单例实现,称为 ССDirector。它是实例的根控制器。

//AppDelegate.m (entry point)
//I run first scene from AppDelegate
[[CCDirector sharedDirector] runWithScene: [MainMenu scene]];
....
//MainMenu.m
//I change scene from Menu to Game Level

- (void) runLevel: (int)level withTheme: (int)themeNo
{
...
    Class GameClass;         //I can run different levels
...
    [[CCDirector sharedDirector] replaceScene:[GameClass scene]];
}

在内部,CCDirector 释放当前控制器(MainMenu)并保留刚刚创建的(GameClass 场景)。

RoorViewContoroller or just root controller is what you need. I'm working on game, too, I'm using Cocos2d-iphone game engine. I'll show you how it works there. There's one common class, implemented as a Singleton, called ССDirector. It is a root controller by instance.

//AppDelegate.m (entry point)
//I run first scene from AppDelegate
[[CCDirector sharedDirector] runWithScene: [MainMenu scene]];
....
//MainMenu.m
//I change scene from Menu to Game Level

- (void) runLevel: (int)level withTheme: (int)themeNo
{
...
    Class GameClass;         //I can run different levels
...
    [[CCDirector sharedDirector] replaceScene:[GameClass scene]];
}

Internally, CCDirector releases current controller (MainMenu) and retains just created (GameClass scene).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文