Я разрабатываю игру cocos2d-x (версия 3.8). Моя игра использует физику бурундука и имеет статическое тело, которое работает как прерыватель. Этот прерыватель включается, когда над ним находится другое тело. Прерыватель отключается, когда тела расходятся.
Я хочу:
- Движущееся тело не сталкивается с прерывателем. Он должен пересечь прерыватель без отскока
- Я хочу обнаружить, когда движущееся тело отделяет прерыватель
Мой первый подход заключался в реализации метода onContactBegin. Я возвращаю false, когда эти два тела соприкасаются. Таким образом, тело пересекает прерыватель и не отскакивает.
Проблема в том, что метод onContactSeparate не вызывается, так как контакта не произошло.
Если я возвращаю true в методе onContactBegin, вызывается onContactSeparate, и я могу это обнаружить. Проблема в том, что тело не пересекает прерыватель, оно отскакивает.
[EDIT] Подробнее
Это сценарий, в котором два спрайта разделены. Мяч может двигаться, а прерыватель является статическим телом. Мяч мог оказаться над прерывателем.
Это сценарий, в котором два спрайта соприкасаются, а объект1 (мяч) находится над прерывателем. Я хочу определить, где два спрайта разделяют друг друга.
Любая помощь будет оценена по достоинству!