actionscript - handle balls collision at the corners -
i have balls moving across screen, can drag them throw them, have handled collision problem when 1 of ball @ corner of screen , drag other ball on it, overlapped don't know how handle collision. function utilize collision detection handling when drag 1 ball on other @ 1 of screen corners overlap.
function onenterframe(event:event):void { (var i:uint = 0; < numballs - 1; i++) { var ball0:ball = balls[i]; (var j:uint = + 1; j < numballs; j++) { var ball1:ball = balls[j]; var dx:number = ball1.x - ball0.x; var dy:number = ball1.y - ball0.y; var dist:number = math.sqrt(((dx * dx) + dy * dy)); var mindist:number = ball0.radius + ball1.radius; if ((dist < mindist)) { var angle:number = math.atan2(dy,dx); var tx:number = ball0.x + math.cos(angle) * mindist; var ty:number = ball0.y + math.sin(angle) * mindist; var ax:number = (tx - ball1.x) * spring; var ay:number = (ty - ball1.y) * spring; ball0.vx -= ax; ball0.vy -= ay; ball1.vx += ax; ball1.vy += ay; } } }
your code not handle case dx=0 , dy=0 math.atan2 not defined.
actionscript collision
No comments:
Post a Comment