我读过的大多数教程只解释了 HelloWorld 类中的 Cocos2D 示例,但是当我开始构建一个简单的游戏时,我需要知道如何将事件发送到不同的类,并让它们在发生时做出响应.
我有 GameSceneLayer,一个 CCLayer 类,它加载到我不同的 Sprite 的 CCLayers 中:
@implementation GameSceneLayer
+ (CCScene *)scene {
CCScene *scene = [CCScene node]; // Create a container scene instance
GameSceneLayer *gameLayer = [GameSceneLayer node]; // Create an instance of the current layer class
[scene addChild:gameLayer]; // Add new layer to container scene
return scene; // Return ready-made scene and layer in one
}
-(id)init
{
self = [super init];
if (self != nil)
{
Background *background = [Background node];
[self addChild:background z:0];
Player *player = [player node];
[self addChild:player z:1];
MainMenu *mainMenu = [MainMenu node];
[self addChild:mainMenu z:2];
}
return self;
}
@end
但是,当我的 MainMenu CCLayer START 精灵被触摸时,我希望它从 Player CCLayer 的 PLAYER 精灵中生成。
我猜我需要一个 GlobalVariables.h 类似的东西:
#define gameStart @"0"
因此,当按下 START 精灵时,它会将 gameStart 更改为 1,并且在 PLAYER 精灵中的某处有
if (gameStart == 1)
{
[self addChild:PLAYER];
}
但是我不确定如何设置代码,以便播放器精灵始终在寻找该信息。