Обработка событий столкновения Corona и обход суставов - PullRequest
1 голос
/ 08 сентября 2011

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

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

в API Physics.newJoint () отмечается, что его не следует использовать с событием столкновения EventHnadler.деос кто-нибудь есть идея, почему это?это связано с какой-то физикой или это проблема или ошибка ??

Я пытался обойти это, но не используя физику, так что если у кого-то есть идея, как обойти это все еще с физикой, пожалуйста, скажитея.

1 Ответ

2 голосов
/ 18 марта 2012

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

Обходной путь во ВСЕХ случаях изменения физики в случае обработчика событий столкновения - добавить timer.performWithDelay(1, whatYouWannaDo, 1) в обработчик. Это заставляет его ждать, пока программа не выйдет из обработчика событий, а затем выполнить whatYouWannaDo.

...