Re: [GAME] WORMED!
Posted: Wed Nov 25, 2015 12:06 pm
Bueno, voy a ver como lo consigo hacer lo que busco, ¡gracias por la info!.
shao wrote:Bueno, voy a ver como lo consigo hacer lo que busco, ¡gracias por la info!.
function constraint(id1, fijaID1, id2, fijaID2, distancia);
private
xdist;
ydist;
dist;
diff;
angulo;
correccion;
begin
if (fijaID1 and fijaID2) return; end
xdist = id1.x - id2.x;
ydist = id1.y - id2.y;
dist = sqrt(xdist * xdist + ydist * ydist);
diff = dist - distancia;
if (abs(diff) < 1) return; end
angulo = -atan2(xdist, ydist);
if (fijaID1 or fijaID2)
correccion = diff;
else
correccion = diff / 2;
end
if (!fijaID1)
id1.x += correccion * (sin(angulo) / 1000);
id1.y -= correccion * (cos(angulo) / 1000);
id1.angle = atan2(id2.y-id1.y, id2.x-id1.x);
end
if (!fijaID2)
id2.x -= correccion * (sin(angulo) / 1000);
id2.y += correccion * (cos(angulo) / 1000);
id2.angle = atan2(id1.y-id2.y, id1.x-id2.x);
end
end
constraint(_id[0], true, _id[1], false, 40); //_id[0] la cabeza del gusano
constraint(_id[2], true, _id[3], false, 40);