Я создавал свой 3Д Бильярд, но никак не мог сделать нормальную физику шаров...так то все сделал что задумал, а физику не очень=( В етом вопросе мне помог один человек Deluksic...он живет в Хорватии, и мне ним пришлось говорить через инет, он дал мне свои скрипты, которые я почти без изминений использовал для своей физики...создаю данную тему, для тех, кто возможно когда-то будет создавать подобный проект - бильярд!
скрипт Bounce:
B1 = argument0
B2 = argument1
if point_distance(B1.x,B1.y,B2.x,B2.y) dd= sprite_height {
move(B1,B2)
dx = B1.x-B2.x;
dy = B1.y-B2.y;
coll_ang = arctan2(dy, dx);
sp1 = sqrt(B1.hspeed*B1.hspeed+B1.vspeed*B1.vspeed);
sp2 = sqrt(B2.hspeed*B2.hspeed+B2.vspeed*B2.vspeed);
dir1 = arctan2(B1.vspeed, B1.hspeed);
dir2 = arctan2(B2.vspeed, B2.hspeed);
xspeed_1 = sp1*cos(dir1-coll_ang);
yspeed_1 = sp1*sin(dir1-coll_ang);
xspeed_2 = sp2*cos(dir2-coll_ang);
yspeed_2 = sp2*sin(dir2-coll_ang);
fxspeed_1 = ((B1.m-B2.m)*xspeed_1+(B2.m+B2.m)*xspeed_2)/(B1.m+B2.m);
fxspeed_2 = ((B1.m+B1.m)*xspeed_1+(B2.m-B1.m)*xspeed_2)/(B1.m+B2.m);
fyspeed_1 = yspeed_1;
fyspeed_2 = yspeed_2;
B1.hspeed = cos(coll_ang)*fxspeed_1+cos(coll_ang+pi/2)*fyspeed_1;
B1.vspeed = sin(coll_ang)*fxspeed_1+sin(coll_ang+pi/2)*fyspeed_1;
B2.hspeed = cos(coll_ang)*fxspeed_2+cos(coll_ang+pi/2)*fyspeed_2;
B2.vspeed = sin(coll_ang)*fxspeed_2+sin(coll_ang+pi/2)*fyspeed_2;
}
Скрипт Move:
B1 = argument0;
B2 = argument1;
{
B1.x += lengthdir_x((point_distance(B1.x,B1.y,B2.x,B2.y)-sprite_height+1),point_direction(B1.x,B1.y,B2.x,B2.y))
B1.y += lengthdir_y((point_distance(B1.x,B1.y,B2.x,B2.y)-sprite_height+1),point_direction(B1.x,B1.y,B2.x,B2.y))
B2.x += lengthdir_x((point_distance(B1.x,B1.y,B2.x,B2.y)-sprite_height+1),point_direction(B1.x,B1.y,B2.x,B2.y))
B2.y += lengthdir_y((point_distance(B1.x,B1.y,B2.x,B2.y)-sprite_height+1),point_direction(B2.x,B2.y,B1.x,B1.y))
}
я, честно говоря, не полностью разобрался в данных кодах, но все же смог кое что понять и исходник который я из етих скриптов сделал я выложу ниже...он адаптирован под меня, и мою игру - мною!
исходник поможет разобраться в скриптах и как их использовать!
если тема, по мнению админов, создана криво или сайт не нуждается в данной теме, прошу сделать как считаете нужным!