deltaluca

Untitled

Apr 3rd, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package;
  2.  
  3. import nape.space.Space;
  4. import nape.phys.Body;
  5. import nape.phys.BodyType;
  6. import nape.shape.Circle;
  7. import nape.shape.Polygon;
  8. import nape.geom.Vec2;
  9. import nape.util.BitmapDebug;
  10.  
  11. import FixedStep;
  12.  
  13. class LineControl extends FixedStep {
  14.     static function main() new LineControl()
  15.     function new() {
  16.         super(1/60);
  17.  
  18.         var space = new Space(new Vec2(0,400));
  19.         var debug = new BitmapDebug(550,400,0xffffff);
  20.         addChild(debug.display);
  21.  
  22.         var player = new Body();
  23.         player.shapes.add(new Polygon(Polygon.box(20,20)));
  24.         player.space = space;
  25.         player.position.setxy(275,100);
  26.         player.allowRotation = false;
  27.  
  28.         var floor = new Body(BodyType.STATIC);
  29.         floor.shapes.add(new Polygon(Polygon.rect(275-100,200,200,50)));
  30.         floor.space = space;
  31.  
  32.         var inf = Math.POSITIVE_INFINITY;
  33.         var horiz = new nape.constraint.LineJoint(space.world, player, new Vec2(), new Vec2(), new Vec2(0,1), -inf,inf);
  34.         horiz.stiff = false;
  35.         horiz.maxError = 0;
  36.         horiz.maxForce = 1000;
  37.         horiz.space = space;
  38.  
  39.         run(function (dt) {
  40.             player.kinematicVel.x = 100*Math.cos(space.elapsedTime);
  41.  
  42.             debug.clear();
  43.             space.step(dt);
  44.             debug.draw(space);
  45.             debug.flush();
  46.         });
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment