Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Engine.Bootstrap({AutoResize:true}, (engine) => {
  2.    
  3.     let level = engine.AddLevel();
  4.     let layer = level.Layers.First();
  5.    
  6.     let tileDiv = document.getElementById("tiles");
  7.     let tileSprite = new Engine.DomSprite2D(tileDiv);
  8.     layer.AddSprite(tileSprite);
  9.     let selectedTileSprite = new Engine.Sprite2D();
  10.     layer.AddSprite(selectedTileSprite);   
  11.    
  12.  
  13.     Engine.Positioning.Relative.SetTopLeft(tileSprite,Engine.Constants.Vector2.Zero.ScalarAdd(32));
  14.    
  15.     level.Controller.CreateBinding("#tiles","img","click",e=>{
  16.         let coord = e.Data.OffsetCoordinate;
  17.         let worldBnds = e.Data.WorldTargetBounds;
  18.        
  19.         let nearestX = Engine.Rounding.RoundDown(coord.X,16);
  20.         nearestX = Engine.Rounding.Clip(nearestX,0,32*4-16);
  21.         let nearestY = Engine.Rounding.RoundDown(coord.Y,16);
  22.         nearestY = Engine.Rounding.Clip(nearestY,0,32*7-16);
  23.         let nearest = new Engine.Vector2(nearestX,nearestY);
  24.         let sprite = new Engine.Sprite2D(16,16);
  25.  
  26.         layer.AddSprite(sprite);
  27.        
  28.         Engine.Positioning.World.SetTopLeft(sprite,nearest.Add(worldBnds.TopLeft));
  29.         sprite._draw = (ctx)=>{
  30.             ctx.save();
  31.             ctx.globalAlpha = 0.7;
  32.             ctx.fillStyle = "red";
  33.             ctx.fillRect(0,0,sprite.Width,sprite.Height);
  34.             ctx.restore();         
  35.         }
  36.        
  37.     });
  38.    
  39.    
  40.     engine.Run();
  41.    
  42. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement