Обнаружение другого касания, пока один палец все еще находится на экране - PullRequest
2 голосов
/ 30 января 2012

Я хочу обнаружить касание, пока один палец все еще находится на экране, означает, что все еще отменено касание, потому что это не называется ... возможно ли это, потому что я хочу игнорировать это касание и выполнить операцию на следующем пальце ... ...

Спасибо

Ответы [ 2 ]

1 голос
/ 16 июня 2013

Также убедитесь, что в представлении включена функция множественного касания, либо через свойство multipleTouchEnabled, либо с помощью флажка Multiple Touch в редакторе раскадровки.

1 голос
/ 30 января 2012
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

//those are all touches on this began call
    for (UITouch *touch in touches) {

        CGPoint location = [touch locationInView: [touch view]];
        CGPoint convertedLocation = [[CCDirector sharedDirector] convertToGL:location];

//those are ALL the touches on screen
 NSSet *allTouches = [event allTouches];

Вы также можете отслеживать касания, прочитав хэш-код касания и сохранив его, используя int firstTouchHash = [touch hash].

. Вы можете проверить в TouchesBegan, установлены ли касания и allTouchesнабор имеет тот же count (в этом случае мы впервые касаемся экрана), в этом случае мы можем сохранить хеш int firstTouchHash = [touch hash]

Когда мы снова коснемся экрана, allTouchesсодержит больше элементов, чем touches, и мы всегда знаем, что было первым касанием, потому что мы сохранили хэш.(без сохранения хэша, если мы касаемся одним пальцем, затем вторым, а затем третьим, когда происходит третье касание, мы не знаем, какой из двух предыдущих касаний является первым, потому что оба они находятся в allTouches set (а set - неупорядоченная коллекция элементов))

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