<script src="http://spelprogrammering.nu/simple.js">
function start()
{
  A = {v: {x: 3, y: -2}, x: 40, y: 400};
  B = {v: {x: 0, y: 0}, x: 420, y: 180};
}

function update()
{
  fill("black");

  // Räkna ut nya positioner på bollarna
  A.x += A.v.x;
  A.y += A.v.y;
  B.x += B.v.x;
  B.y += B.v.y;

  circle(A.x, A.y, 20, "red");
  circle(B.x, B.y, 20, "green");

    // Kolla om kollision uppstått
  if (distance(A, B) < 40)
  {
    var normalVector = {x: A.x-B.x, 
                        y: A.y-B.y};
  
    var normalUnitVector  = math.normalizeVector(normalVector);
  
    var tangentUnitVector = {x: -normalUnitVector.y, 
                             y: normalUnitVector.x};
  
    var ANormal  = math.dotProduct(A.v, normalUnitVector);
    var ATangent = math.dotProduct(A.v, tangentUnitVector);
  
    A.v = math.multiplyScalar(tangentUnitVector, ATangent);
    B.v = math.multiplyScalar(normalUnitVector,  ANormal);
  }
}
</script>
        
Gå tillbaka