Advertisement
Rolpege

Untitled

Jun 9th, 2011
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //That's on update
  2.  
  3. moveBy(Math.sin(angle * DEGTORAD) * speed, Math.cos(angle * DEGTORAD) * -speed, "track", false);
  4.  
  5. //That's on the class
  6.        
  7.         public function determineCollision():void
  8.         {
  9.             var sumAngle:Number = 360 / POINTS;
  10.             var currentAngle:Number = 0;
  11.             var totalX:Number = 0;
  12.             var totalY:Number = 0;
  13.             var n:int = 0;
  14.            
  15.             testingMC.graphics.clear();
  16.            
  17.             for(var i:int = 0; i < POINTS; ++i)
  18.             {
  19.                 FP.angleXY(p, currentAngle, RADIUS, x, y);
  20.                 if(gameWorld.track.collidePoint(0, 0, p.x, p.y))
  21.                 {
  22.                     totalX += p.x;
  23.                     totalY += p.y;
  24.                     ++n;
  25.                     testingMC.graphics.beginFill(0x0000FF);
  26.                 }
  27.                 else
  28.                 {
  29.                     testingMC.graphics.beginFill(0xFF0000);
  30.                 }
  31.                 testingMC.graphics.drawRect(p.x, p.y, 1, 1);
  32.                 currentAngle += sumAngle;
  33.             }
  34.            
  35.             p.x = totalX / n;
  36.             p.y = totalY / n;
  37.             angle = (angle + FP.angle(x, y, p.x, p.y)) * 0.5;
  38.            
  39.             var p2:Point = new Point;
  40.             FP.angleXY(p2, angle, 30, x, y);
  41.             testingMC.graphics.lineStyle(1, 0x00FF00);
  42.             testingMC.graphics.moveTo(x, y);
  43.             testingMC.graphics.lineTo(p2.x, p2.y);
  44.             testingMC.graphics.beginFill(0xFFFF00);
  45.             testingMC.graphics.drawCircle(p2.x, p2.y, 2);
  46.         }
  47.        
  48.         override public function moveCollideX(e:Entity):Boolean
  49.         {
  50.             determineCollision();
  51.            
  52.             return false;
  53.         }
  54.        
  55.         override public function moveCollideY(e:Entity):Boolean
  56.         {
  57.             determineCollision();
  58.            
  59.             return false;
  60.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement