2012-02-02 4 views
0

나는 다른 클래스의 다른 CClayer 객체를 추가하는 CCLayer 클래스가 있습니다. 하지만 CCLayer 객체를 프레임과 함께 추가하고 싶으면 전체 화면에 추가되고 밑에있는 레이어와 추가 된 레이어에 대해 세례를 붙일 수는 없습니다. 어떻게 특정 프레임 cclayer 개체를 추가 할 수 있습니까 ??다른 CCLayer 위에 프레임이있는 CClayer를 추가 하시겠습니까?

답변

0

이 생각 할 수 있습니다 '프레임'레이어, 그러나 당신 수있는 터치 레이어에서 처리 될 것 '프레임', 비슷한 :

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{ 
    if (!visible_ || !_enabled) { 
     return NO; 
    } 
    CGPoint loc = [touch locationInView:touch.view]; 
    loc = [[CCDirector sharedDirector] convertToGL:loc]; 

    return [self containsPoint:loc]); 
} 

- (BOOL) containsPoint:(CGPoint)loc { 
    loc = [self convertToNodeSpace:loc]; 
    CGRect rect = CGRectMake('WHATEVER FRAME YOU WANT TOUCHES FOR'); 
    return CGRectContainsPoint(rect, loc); 
} 
+0

너무 나쁜 캔트 특정 프레임과 CClayer를 추가 – hemant

0

무언가를 잊어 버리지 않는 한, 레이어에 대한 isTouchEnabled 플래그를 설정하는 것만 큼 간단하지 않으면 안된다. 그래서 ...

CCLayer* myTopLayer; 
CCLayer* myBottomLayer; 

myTopLayer.isTouchEnabled = YES; 
myBottomLayer.isTouchEnabled = NO; 

이제는 맨 위 레이어 만 터치해야합니다. 당신이 할 수있는 또 다른 속임수는 사용자가 그것을 만질 수 없도록 아주 작은 값으로 하단 레이어를 확장하는 것입니다. 당신이 준비가되면 뭔가 같은 ...

myBottomLayer.scale = 0.01f; 

그런 다음 1.0로 다시 확장 할 수 있습니다. 내가 그나마

+0

내가 레이어의 접촉을받을 싶지만 특정 영역에만. – hemant

관련 문제