Alex Begali
Как-то тоже пытался разобраться в этой теме
Пальцам присваиваются индексы по возрастанию. При отрывании одного пальца его индекс освобождается и его займет следующий прикоснувшийся палец.
Например есть нажать тремя пальцами, то индексы будут 0, 1, 2. При отрыве пальца с индексом 1 и возвращении его на экран он опять получит первый свободный индекс - 1 (0 и 2 были заняты).
Если оторвать пальцы с индексами 0 и 1, а потом вернуть только один палец, то индексы будут 0 и 2. И т.д.
Если пять пальцев 0, 1, 2, 3, 4 - то при отрыве 0, 1 и 3 и возвращении одного пальца индексы будут 0, 2 и 4
Спасибо за ответ! Я немного разобрался вот в теме. В общем, чтобы артефактов не было, нужно забыть о функции getTouch и юзать только fingerId, ибо он действителен в течении всех кадров, а индексы в массиве touches могут меняться от кадра к кадру. Я проверил, если использовать fingerId, то когда двигаешь вторым пальцем при отрыве первого, то переприсваивания второму пальцу индекса 0 не происходит, он остаётся при 1. Мутная тема, но вроде осилил... Надеюсь, ничего нового не вскроется. Ещё раз спасибо за детальное объяснение