Примечание: по какой-то причине я думал, что в эффектах использовались те же трюки js, что и в эксперименте с хромовой гравитацией.
Хотя это, кажется, реализуется во флэш-памяти, кое-что очень похожее можно сделать с помощью нового html5-содержимого.
Обычно ничто не мешает вам загрузить весь исходный код javascript самостоятельно и попытаться выяснить, что происходит. Также взгляните на существующие физические движки Javascript и эксперименты с Chrome как этот
Если вы покопаетесь в исходном коде гравитационного эксперимента, вы обнаружите две важные вещи:
- Используется движок javascript box2d
- Координаты - и, что более важно, вращение элементов изменяется с этими утверждениями
-
for (i = 0; i < elements.length; i++)
{
var element = elements[i];
element.style['left'] = (bodies[i].m_position0.x - (properties[i][2] >> 1)) + 'px';
element.style['top'] = (bodies[i].m_position0.y - (properties[i][3] >> 1)) + 'px';
// webkit
element.style['-webkit-transform'] = 'rotate(' + (bodies[i].m_rotation0 * 57.2957795) + 'deg)';
// gecko
element.style['MozTransform'] = 'rotate(' + (bodies[i].m_rotation0 * 57.2957795) + 'deg)';
// opera
element.style['OTransform'] = 'rotate(' + (bodies[i].m_rotation0 * 57.2957795) + 'deg)';
}