public Game() { Engine engine = new Engine("Game", 1280, 720, fullscreen: true); Player player = new Player(64, 16, true); player.LoadAssets(engine); engine.SpawnObject("player", player); Ball ball = new Ball(12, 12, false); ball.LoadAssets(engine); engine.SpawnObject("ball", ball); Wall[] walls = { new Wall(0, 0, engine.Width, 10), new Wall(0, 0, 10, engine.Height), new Wall(engine.Width - 10, 0, 10, engine.Height), }; foreach (var wall in walls) { engine.SpawnObject("wall", wall); } #if DEBUG engine.debugCollisions = true; #endif engine.Run(); }
static void Main(string[] args) { Engine engine = new Engine("test", 1024, 768, 60, false, false); engine.debugCollisions = true; // set default directory for assets, will be appened to all assets's path Asset.BasePath = "..\\..\\Assets"; // load repeating texture var repeatingGoblins = new SpriteAsset("goblins.png", 100, 100, 150, 150, repeatx: true, repeaty: true); // auto hitbox and spriteasset with repeatx or/and repeaty are NOT compatible var obj = new SpriteObject(repeatingGoblins.Width + 20, repeatingGoblins.Height + 100); obj.CurrentSprite = repeatingGoblins; obj.OnUpdate += sender => { var s = (SpriteObject)sender; s.SpriteOffset += new Vector2(10f, 0f) * s.DeltaTime; }; // text TextConfig.Default = new TextConfig(new Asset("font.png"), charToSprite); var semiTransparentText = new TextObject(0.66f, Color.Red, 0.8f); semiTransparentText.Text = "SEMI TRANSPARENT"; semiTransparentText.Y = obj.Height; var bigText = new TextObject(1.1f, Color.CadetBlue); bigText.Text = "BIG TEXT"; var semiTransparentTextMeasure = semiTransparentText.Measure(); bigText.Y = semiTransparentTextMeasure.Y + semiTransparentText.Y; var bigTextMeasure = bigText.Measure(); // hitboxes var spriteSheet = new SpriteAsset("rob.png"); var tileWidth = spriteSheet.Width/22; var tileHeight = spriteSheet.Height/1; var spriteAsset = new SpriteAsset("rob.png", 0, 0, tileWidth, tileHeight); var spriteH = new SpriteObject(spriteAsset.Width, spriteAsset.Height, true); spriteH.Y = bigText.Y + bigTextMeasure.Y; spriteH.CurrentSprite = spriteAsset; spriteH.Scale = new Vector2(5f, 5f); // spawn gameobjects engine.SpawnObject("obj", obj); engine.SpawnObject("semiTransparentText", semiTransparentText); engine.SpawnObject("bigText", bigText); engine.SpawnObject("spriteH", spriteH); engine.Run(); }