anchor.diff:  
       int yTimes = (_context.game.stage.sourceHeight / backgroundTileBitmapdata.height).ceil();
       int xTimes = (_context.game.stage.sourceWidth / backgroundTileBitmapdata.width).ceil();
  -
  -    for (int i = 0; i < yTimes; i++) {
  -      for (int j = 0; j < xTimes; j++) {
  +    
  +    if(!repeatX) xTimes = 1;
  +    if(!repeatY) yTimes = 1;
  +    
  +    for (int i = -1; i < yTimes; i++) {
  +      for (int j = -1; j < xTimes; j++) {
           backgroundTileBitmap = new StageXL.Bitmap(backgroundTileBitmapdata);
           backgroundTileBitmap
           ..x = backgroundTileBitmap.width * j
  
positive.code:   addToStage() {
      _backgroundTileList.forEach((tile){
        _context.game.stage.addChild(tile);
      });    
    }
  }
  
negative.code: part of dartrocket;
  
  class Background implements StageXL.Animatable{
    List<StageXL.Bitmap> _backgroundTileList = new List<StageXL.Bitmap>();
    State _context;
    
    int vx = 0;
    int vy = 0;
    
    bool isMoveAble;
  
    Background(State stateContext, String resourceName, {bool isMoveable:false,bool addToStage:
        true, bool repeatX: true, bool repeatY: true}) : super() {
          
      _context = stateContext;
      
      StageXL.BitmapData backgroundTileBitmapdata =
  