调用不同类中的方法
这个问题与这里问的问题半相似
,但是不同的是我使用的是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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能调用不存在的方法 - 它将生成运行时错误。
如果你想从 GameOver 调用 AppDelegate 的方法,如果该方法不是静态的,你应该有一个指向 AppDelegate 对象的指针:
如果该方法是静态的,
我想你只有一个对象 AppDelegate 并且你可以创建一个
AppDelegate 类的 静态方法将返回您的对象单例。因此,您将能够从 GameOver 对象或任何其他地方调用
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:
If the method is static
I suppose you have only one object AppDelegate and you can make a static method
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:Such thing is done in CCDirector, CCTextureCache, SimpleAudioEngine, ... classes in Cocos2D