С пересечением двух шариков естественно все просто
function intersectCircles (b1, b2){
d1 = b2._x - b1._x;
d2 = b2._y - b1._y;
d = Math.sqrt((d1*d1) + (d2*d2));
if (d > (b1._width/2 + b2._width/2)) return false;
return true;
}
function onMouseDown(){
trace(intersectCircles(mc1,mc2))
}
mc1.startDrag(1);
А с углами, наверное нужно поискать, что-то вроде "кинематика прямолинейного движения", "нецентральное столкновение тел" и т д, не знаю, как-то не доводилось делать
Было чегото в букмарках, если найду - скажу
Утверждаю, что при ударе двух тел независимо от их скорости v, размера r,
угла удара X или его вида ( вдогонку, сбоку или нецентрально) и их веса m
по закону сохранения импульса и энергии, произойдет следущее:
Центр тяжести всей системы до и после удара продолжает двигаться дальше с неизменной скоростью и направлением причём угол центра тяжести равен
X0 = arctan ( (v2*sinX) / (v1*(m2/m1)+1) ), скорости тел не изменяются,
их углы равны: X1 = 180+2* X0- X, X2 = X1+ X.
Импульсы складываются векторно, исключение составляют столкновение тел одинаковых масс –обмен скоростей и направлений даже при нецентральном ударе.
Если оба тела одной массы и второе из них стоит, сталкиваются, используется теорема косинусов и тела разлетаются всегда под 90 градусов друг к другу, причём угол удара и угол отражения удара первого равны, его скорость првращается при нуле градусов в нуль. Если скорости обоих тел после удара в квадрат взять, сложить и корень извлечь получем первоначальную скорость первого тела.
а вот так!!!
_________________ "В следующий раз сделай или лучше, или по-другому."
спасибо @st@l@vist@ только лишь потому что ему это тоже интересно:)
и SmolmeatSite, за статью у меня б терпения не хватило...
2@st@l@vist@, какой нецентрализованный код?! для мня ето пик порядка, хотя названия прееменныых и правда надо немного подразобрать, плюс еще чтобы сделать универ код для любого символа...
мечта... нада подумать...
Ну код для флеша плох тем, что он не правильный, тут структура должна быть подобна радиобатонам и их группам, когда есть объект имеющий список всех участников этого действа, тоесть грубо говоря некий Класс, который будет содержать все методы связанные с обработкой физики в прототипе, и массив всех объектов и связанные с этим моменты, наверное было-бы разумно сделать что-то вроде компонента …
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.