anchor.diff:      position = new Vector2(x, y);
       size = new Vector2(width, height);
     }
  +
  +  void update(num dt) {
  +
  +  }
   }
  
positive.code:     node.position.y += speed.y * dt;
      speed.x += acceleration.x * dt;
      speed.y += acceleration.y * dt;
  
      if (collideWorld){
        _correctForWoldCollision();
      }
    }
  
    void _correctForWoldCollision() {
      if (position.x < world.left) {
        position.x = world.left;
        speed.x *= -bounce.x;
      }
  
      if (position.x > world.right) {
        position.x = world.right;
        speed.x *= -bounce.x;
      }
  
      if (position.y < world.top) {
        position.y = world.top;
        speed.y *= -bounce.y;
      }
  
      if (position.y > world.bottom) {
        position.y = world.bottom;
        speed.y *= -bounce.y;
      }
    }
  }
  
  
negative.code: 
  part of cocos;
  
  class Side {
    static const int TOP = 1;
    static const int BOTTOM = 2;
    static const int LEFT = 4;
    static const int RIGHT = 8;
    static const int ALL = 15;
  }
  
  class CollisionHandlers {
    static void bounce(PhysicsComponent body1, int side1, PhysicsComponent body2,
        int side2) {
      if (!body1.isStatic) {
        if (side2 == Side.TOP || side2 == Side.BOTTOM) {
          body1.speed.y = body1.speed.y * -body1.bounce.y;
        }
        if (side2 == Side.LEFT || side2 == Side.RIGHT) {
          body1.speed.x = body1.speed.x * -body1.bounce.y;
        }
      }
    }
  }
  
  class PhysicsComponent {
    GameNode node;
    World world;
  