我正在用cocos2d编写游戏(来自Pablo Ruiz的书)。 现在我必须创建暂停屏幕,根据这本书,我必须在AppDelegate.m(和.h文件)中创建新功能:
+(AppDelegate *) get {
return (AppDelegate *) [[UIApplication sharedApplication] delegate];
}
我收到错误:预计会有类型;预期表达;在消息发送表达式的开头缺少'[';使用未声明的标识符'AppDelegate'。
在另一个名为GameScene.m的文件中,我创建了这些函数:
-(void)resume
{
if(![AppDelegate get].paused)
{
return;
}
[AppDelegate get].paused = NO;
[self onEnter];
}
-(void)onExit
{
if(![AppDelegate get].paused)
{
[AppDelegate get].paused = YES;
[super onExit];
}
}
-(void)onEnter
{
if(![AppDelegate get].paused)
{
[super onEnter];
}
}
我得到另一组错误:使用未声明的标识符'AppDelegate',四次。
有人可以解释我如何摆脱这些错误吗?
答案 0 :(得分:1)
确保已将以下内容添加到GameScene.h中:
@class AppDelegate;
这将让编译器知道类AppDelegate
存在。
在你的GameScene.m中:
#import "AppDelegate.h"
这使您可以访问AppDelegate成员和方法。
答案 1 :(得分:1)
Cocos2d 2.0?然后使用AppController。
#import "AppDelegate.h"
AppController *app = (AppController*)[UIApplication sharedApplication].delegate;