cocos2D Сенсорный экран аварии - PullRequest
0 голосов
/ 18 февраля 2012

Мое приложение аварийно завершает работу при выполнении этих блоков кода.Там нет ошибок, только предупреждения.В предупреждении говорится: «Противоречивый тип возврата в реализации ccTouchesBegan: withEvent»: «void'VS'BOOL» (он же «подписанный символ»)

Ответы [ 3 ]

2 голосов
/ 18 февраля 2012

Как говорится в вашем предупреждении, эти методы не должны возвращать ничего (void), а не логическое значение. Попробуйте изменить его и посмотреть, исправляет ли оно предупреждение, иначе проблема заключается в вашем коде, а не в том, как эти методы вызываются.

1 голос
/ 18 февраля 2012

нет возврата ничего.

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

и вы должны использовать это для одного касания;

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event;

он также поддерживает мультитач:

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
    NSArray *allTouches = [[event allTouches] allObjects];
    for (int i=0; i<[allTouches count];i++) {
        if ([some conditions]) {
            CGPoint position = [(UITouch*)[allTouches objectAtIndex:i] locationInView:[[CCDirector sharedDirector]openGLView]];
            position.y = [[CCDirector sharedDirector]winSize].height - position.y;
            //deal with the position;
            return TRUE;
        }
    }
return FALSE;

}

Сначала вы должны активировать сенсорное взаимодействие:

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
//if support multi touch you must set swallowsTouches "NO".
1 голос
/ 18 февраля 2012

Тип возврата на

-(BOOL) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

должно быть (недействительно)

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...