Как создать гравитационный эффект с помощью Javascript? - PullRequest
12 голосов
/ 11 января 2012

Гравитация Google и Сценарий гравитации - две приятные демонстрации. но нет исходного кода или учебных пособий. и оригинальные файлы JS очень большие. Как создать эффект гравитации с помощью функции перетаскивания (например, " Throw * " и " roatable " как google gravity) для определенного элемента?

Ответы [ 2 ]

8 голосов
/ 13 января 2012

Вы хотите начать с физического движка, который использует Google Gravity: Box2Djs , который является портом javascript Box2D .Вы можете прочитать руководство для Box2D, чтобы узнать, как его использовать, хотя само руководство гласит, что у вас будет мало представления о том, что вы делаете, не имея некоторых знаний физики твердого тела (сила, импульс, крутящий момент и т. Д.), Хотя эти примерыпомочь вам начать работу.

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

После этого вам нужно будет изучить методы анимации JavaScript.Я рекомендую узнать о window.requestAnimationFrame.Использование setInterval(stepFunction, time) будет работать, но не так эффективно, как в современных браузерах.

5 голосов
/ 21 марта 2013

Посмотрите этот плагин jquery на github JQuery.throwable просто сделайте $("Selector").throwable() и объект окажется под действием силы тяжести

...