안녕 동료적인 Cocos2D 게임 개발자들, 내가 한 게임이고, 다른 하나는 HUD가 그래서 구현,CCLayer UIGestureRecognizer 및 HUD
내가 그것을 두 CCLayers이있는 CCScene을 구현하고 간단한 문제를했습니다 :
+ (CCScene *)scene {
CCScene *scene = [CCScene node];
LevelLayer *layer = [LevelLayer node];
LevelHUDLayer *hud = [LevelHUDLayer node];
layer = [layer init];
[layer setHUDLayer:hud];
[hud setParentLevel:layer];
[scene addChild:hud z:HUD_ZLevel];
[scene addChild:layer];
return scene;
}
위대한 작품입니다. 나는 또한 그래서 구현하는 UIPinchGestureRecognizer 있습니다
- (void)onEnterTransitionDidFinish {
pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(makePinch:)];
[[CCDirector sharedDirector].view addGestureRecognizer:pinch];
}
을 그리고 난 그렇게 같은 코드에서 나중에 제스처를 잡을 :
self.scale = pinch.scale;
이 완벽하게 작동 난 단지 게임을 보장 할 제외 계층은 HUDLayer가 아니라 제스처를 선택합니다. 현재 HUDLayer의 컨트롤을 터치하고 캐릭터를 화면에서 움직이면 레벨이 조정되므로 상당히 짜증나게됩니다.
제 질문은 어떻게 제스처 인식기를 선택하기 위해 LevelLayer 만 할당할까요? CCLayer의 UIView에 액세스 할 수 있다면 쉽게 할 수있을 것 같지만 CCDirector.sharedDirector에만 액세스 할 수있는 것처럼 보입니다.
감사합니다.
입력 해 주셔서 감사합니다. 지금 gestureRecognizerShouldBegin 방법을 시도하고 있지만 하위 레이어가 입력을 받았는지 확인하는 방법이 궁금합니다. HUD 컨트롤에는 터치를 전달할 수있는 투명한 부분이 있으므로 중요합니다. – Parad0x13