2013-01-28 2 views
0

Я пытаюсь обнаружить касание, которое началось с n touch end на определенной части экрана. У меня есть Spider as Sprite, и я меняю направление лица на touchbegan и touchhend. и я хочу получить прикосновение только от моего паук.Получить прикосновения на экране в iPhone Cocos2d

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //[self ccTouchesMoved:touches withEvent:event]; 
    UITouch *touch = [touches anyObject]; 
    startTouchPoint = [touch locationInView: [touch view]]; 

    //location = [[CCDirector sharedDirector] convertToGL: location]; 
    CCLOG(@"Location of Touch %@",NSStringFromCGPoint(startTouchPoint)); 
} 
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ 

    UITouch *touch = [touches anyObject]; 
    CGPoint endlocation = [touch locationInView: [touch view]]; 
    if(startTouchPoint.x != endlocation.x && startTouchPoint.y != endlocation.y) { 
     CGPoint touchPoint = [touch locationInView: [touch view]]; 
     touchPoint = [[CCDirector sharedDirector] convertToGL:touchPoint]; 

     [self calcAngleAndRotateObjectStartingAtPoint:sprite_Spider.position endingAtPoint:touchPoint]; 
    } 
} 

enter image description here

Это мой паук, и я хочу, чтобы получить связь только между этими красными линиями. Как я могу это достичь.

ответ

0

В вашем случае я бы пойти на UITapGestureRecognizer и реализовать метод делегата

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 

В то вы должны возвратить ложь где-то между этими линиями нет да и во всех других местах.

Вы также можете обнаружить различные фазы ди жестов

+0

но как я обнаруживаю вкладку между этими линиями? – Zohaib

+0

Напишите функцию, в которой calcualtes вернет tyes или нет, в зависимости от того, что вы нажимаете posiiton.You можете прочитать точку жестов, а из изображения вы знаете координаты строк –

+0

Эти строки не являются статическими. они будут меняться. – Zohaib

0

сделать гипотетический прямоугольник перед пауком каждый раза, и использовать этот метод для обнаружения тронуть

CGRectContainsPoint(<rect>,<point>) 

ли какая-либо вещь, если касание в пределах rect

+0

есть ли какие-либо примеры в CGRectContainsPoint? – Zohaib

+0

Он возвращает bool, чтобы выпрямиться в носу вашего паука и передать этот метод rect вместе с точкой касания в выражении if. – amar

Смежные вопросы