Как можно было бы создать эффект «летающих обломков» с помощью jQuery?

Я работаю над анимацией и использую библиотеку jQuery.

Одним из методов ресурсов является fly () , что означает, что для полета от родительского элемента этот родительский элемент только что взорвался . Это должно выглядеть как полет мусор есть, то есть он должен взлететь и разлететься, а затем поддаться гравитации и упасть. Пример .

Вот мой метод ...

var parent = this.element.parent(),
    direction = this.element.position().left < parent.width() / 2 ? '-' : '+';

this.element.animate({
    left: direction + '=300',
    top: '-=200'
}, duration);

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

Я бы не хотел реализовывать полноценный физический движок, такой как Box2D.

Я знаю, что должен делать мой код, и я считаю, что это ...

  1. Поднимите элемент вверх (отрицательный верхний ) и в заданном направлении (отрицательный или положительный влево ), при этом некоторое значение уменьшается для имитации потери горизонтального движения из-за сопротивления ветра и т. Д. И потери вертикального движения из-за силы тяжести.
  2. Сила тяжести на каком-то этапе станет сильнее, чем восходящая сила элемента от взрыва, и в этом случае элемент должен будет упасть .

Я действительно не знаю, как подойти к этой проблеме. Я надеялся, что смогу использовать jQuery animate () , но я не знаю, как включить затухающее значение.

Как лучше всего создать этот эффект?

5
задан alex 9 November 2011 в 02:07
поделиться