Point/Constraint Physics System
This tutorial will give you the code to create a point/constraint based physics simulation.\\r\\n\\r\\nAS3:\\r\\n[code]\\r\\n// Arrays for the points and constraints\\r\\nvar points:Array = new Array();\\r\\nvar consts:Array = new Array();\\r\\n\\r\\n// Worlds physical parameters\\r\\nvar gravity:Number = 0.5;\\r\\nvar bounce:Number = 0.4\\r\\nvar friction:Number = 0.9;\\r\\n\\r\\n// Function to add points to the simulation\\r\\nfunction addPoint(x:Number, y:Number, r:Number):Object{\\r\\n var p:Object = {x:x,y:y,vx:0,vy:0,r:r};\\r\\n points.push(p);\\r\\n return p;\\r\\n}\\r\\n\\r\\n// Function to add constraints\\r\\nfunction addConst(p1:Object, p2:Object){\\r\\n var xd = p2.x-p1.x;\\r\\n var yd = p2.y-p1.y;\\r\\n var dis = Math.sqrt(xd*xd+yd*yd);\\r\\n var c = {p1:p1, p2:p2, len:dis};\\r\\n consts.push(c);\\r\\n}\\r\\n\\r\\n// Main loop\\r\\nstage.addEventListener(Event.ENTER_FRAME, main);\\r\\nfunction main(e:Event):void{\\r\\n var i:int;\\r\\n for(i=0;i 550){\\r\\n p.x = 550-p.r;\\r\\n p.vx = -Math.abs(p.vx*bounce);\\r\\n }\\r\\n if(p.y-p.r < 0){\\r\\n p.y = p.r;\\r\\n p.vx *= friction;\\r\\n p.vy = Math.abs(p.vy*bounce);\\r\\n }\\r\\n if(p.y+p.r > 400){\\r\\n p.y = 400-p.r;\\r\\n p.vx *= friction;\\r\\n p.vy = -Math.abs(p.vy*bounce);\\r\\n }\\r\\n }\\r\\n // Update constraints\\r\\n for(i=0;i
Sam