调用不同类中的方法

发布于 2024-10-12 19:36:14 字数 315 浏览 5 评论 0原文

这个问题与这里问的问题半相似

,但是不同的是我使用的是cocos2d。 我的 AppDelegate 中有一个名为截屏的方法。显然是用来截图的。我想在另一个类中调用这个方法,但只需做[自我截图];无法解决,因为我收到警告“GameOver”,但我没有响应“-screenshot”。

我想要的只是在 GameOver 中调用屏幕截图方法。

谢谢!

This question is semi-similar to the one asked here

But the difference is that I'm using cocos2d.
I have a method named screenshot in my AppDelegate. It's obviously used to take a screenshot. I want to call this method in another class, but simply doing [self screenshot]; isn't working out because I get the warning 'GameOver' my not respond to '-screenshot'.

All I want is for the screenshot method to be called in GameOver.

Thanks!

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

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

发布评论

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

评论(1

与风相奔跑 2024-10-19 19:36:14

您不能调用不存在的方法 - 它将生成运行时错误。

如果你想从 GameOver 调用 AppDelegate 的方法,如果该方法不是静态的,你应该有一个指向 AppDelegate 对象的指针:

[appDelegatePointer screenshot];

如果该方法是静态的,

[AppDelegate screenshot];

我想你只有一个对象 AppDelegate 并且你可以创建一个

+(AppDelegate) sharedDelegate;

AppDelegate 类的 静态方法将返回您的对象单例。因此,您将能够从 GameOver 对象或任何其他地方调用 screenshot 方法,如下所示:

[[AppDelegate sharedDelegate] screenshot];

此类事情是在 CCDirector、CCTextureCache、SimpleAudioEngine 等 Cocos2D 中的类中完成的

You can't call a method that does not exists - it will generate a runtime error.

If you want to call a method of AppDelegate from GameOver you should have a pointer to AppDelegate object if the method is not static:

[appDelegatePointer screenshot];

If the method is static

[AppDelegate screenshot];

I suppose you have only one object AppDelegate and you can make a static method

+(AppDelegate) sharedDelegate;

of class AppDelegate that will return your object singleton. And so you will be able to call screenshot method from GameOver object or from any other place like this:

[[AppDelegate sharedDelegate] screenshot];

Such thing is done in CCDirector, CCTextureCache, SimpleAudioEngine, ... classes in Cocos2D

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