0
내 최상위 레이어에는 터치를 받아야하는 '뒤로 버튼'스프라이트가 있습니다. 일반적으로 다른 모든 터치는 하위 레이어로 전달되어야하지만이 뒤로 버튼이 탭 제스처를 받으면 터치를 삼켜 야합니다.Kobold2D에서 선택적으로 터치를 삼키는 방법은 무엇입니까?
현재 뒤로 버튼의 모든 터치는 아래의 레이어에서 터치로 수신 중입니다.
탑 레이어 :
-(id) init {
if ((self = [super init])) {
[self scheduleUpdate];
// Initialize KKInput
KKInput* input = [KKInput sharedInput];
input.gestureTapEnabled = input.gesturesAvailable;
...
}
return self;
}
...
-(void) update:(ccTime)delta
{
KKInput* input = [KKInput sharedInput];
if (input.gestureTapRecognizedThisFrame) {
CCLOG(@"Top layer tap recognized");
if ([self.backButton containsPoint:input.gestureTapLocation]) {
CCLOG(@"Top layer Back Button tap recognized");
}
}
}
낮은 계층
-(id) init {
if ((self = [super init])) {
[self scheduleUpdate];
// Initialize KKInput
KKInput* input = [KKInput sharedInput];
input.gestureTapEnabled = input.gesturesAvailable;
...
}
return self;
}
...
-(void) update:(ccTime)delta
{
KKInput* input = [KKInput sharedInput];
if (input.gestureTapRecognizedThisFrame) {
CCLOG(@"Lower layer tap recognized");
}
}
내가 뒤로 단추 아닌 다른 탭 경우, 출력은 내가 원하는 무엇인가 :
2012-10-16 10:58:03.747 MyApp[13838:707] Top layer tap recognized
2012-10-16 10:58:03.749 MyApp[13838:707] Lower layer tap recognized
하지만 내가 뒤로 버튼을 누르면 버튼이 삼키지 않습니다.
2012-10-16 10:49:23.426 MyApp[13838:707] Top layer tap recognized
2012-10-16 10:49:23.429 MyApp[13838:707] Top layer Back Button tap recognized
2012-10-16 10:49:23.434 MyApp[13838:707] Lower layer tap recognized
이 기능은 저에게 적합하지 않습니다. _CCLOG (@ "상위 레이어 뒤로 버튼 탭 인식") 직후에 삽입했지만 _ 하위 레이어는 여전히 탭에 응답했습니다. 이 시점에서 제스처를 사용 중지하거나 사용 설정하기에는 너무 늦었습니까? –