2016-12-26 3 views
1

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

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

Кто-нибудь знает о чистом способе проверить, не двигаются ли все тела на сцене?

ответ

2

ли вы попробуете перебрать органов и проверить свойство

http://brm.io/matter-js/docs/classes/Body.html#property_speed

и

http://brm.io/matter-js/docs/classes/Body.html#property_angularSpeed

, если они близки к нулю? (Помните, что сравнение любого поплавка с нулевым значением почти никогда не даст ожидаемого поведения.)

+0

infact, на данный момент я использую скорость, чтобы проверить, движутся ли тела. т. е. если скорость ниже определенного порога, я предполагаю, что объекты не перемещаются. Почему скорость не определена 0? – nickygs

+0

также зачем учитывать также угловую скорость? – nickygs

+0

В очень точном смысле движение останавливается только тогда, когда скорость равна нулю. Однако движение становится незаметным со скоростями, которые далеки от нуля в форматах с плавающей запятой. Обычно вы не учитываете дрейф континентов, даже если он составляет несколько миллиметров в год. Небольшие колебания из-за небольшой воздушной турбулентности также являются тем, что существует, но не учитываются при движении. Большая башня может колебаться даже в метрах на вершине под сильными ветрами, не будучи в движении неинструментальным глазом, ... – LutzL