내가 읽은 튜토리얼의 대부분은 HelloWorld 클래스의 Cocos2D 예제를 설명하지만 간단한 게임을 만들기 시작 했으므로 이벤트를 보내는 방법을 알아야합니다. 다른 클래스에, 그리고 그것이 일어날 때마다 응답하도록합니다.Cocos2D : 서로 다른 클래스간에 이벤트를 보내는 방법
나는 GameSceneLayer, 스프라이트의 내 다른 CCLayers에로드하는 CCLayer 클래스가 있습니다
@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 스프라이트을 터치 할 때 나는 플레이어에서 플레이어 스프라이트에 산란을하고 싶습니다를 CCLayer.
나는 같은과 함께 GlobalVariables.h 필요 같은데요은 :
#define gameStart @"0"
그래서 START 스프라이트가 플레이어 스프라이트 어딘가에 1 gameStart을 변경하고 눌렀을 때이
입니다if (gameStart == 1)
{
[self addChild:PLAYER];
}
그러나 PLAYER 스프라이트가 항상 해당 정보를 찾고 있도록 코드를 설정하는 방법을 모르겠습니다.
NSNotifications를 살펴보십시오. 그들은 당신의 상황에서 당신을 도울 수 있습니다. – miho
당신의 싱글 톤 도그마 키트 외에 ... 계속 보아라 :) – YvesLeBorg