Worked on the sprite class, got texture loading working with sprite class, addad garbage colection to entities and sprites, and also added maintatining aspect ratio in the entity render

This commit is contained in:
Ben
2018-10-01 15:02:23 +01:00
parent 32e44a9018
commit 1b2e620f40
7 changed files with 92 additions and 29 deletions

View File

@@ -12,21 +12,22 @@ int main(int argc, char** argv) {
Entity mario("mario", game.SDLRenderer);
mario.LoadTexture("/resources/mario.png");
Entity box("box", game.SDLRenderer, PolyDrawType::DRAW_FILLED_RECT);
box.SetDrawColour(Vec4(144, 022, 111, 255));
box.SetRect(Vec2(0, 0), Vec2(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2));
// Entity box("box", game.SDLRenderer, PolyDrawType::DRAW_FILLED_RECT);
// box.SetDrawColour(Vec4(144, 022, 111, 255));
// box.SetRect(Vec2(0, 0), Vec2(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2));
Entity boxOutline("box", game.SDLRenderer, PolyDrawType::DRAW_OUTLINE_RECT);
boxOutline.SetDrawColour(Vec4(144, 111, 111, 255));
boxOutline.SetRect(Vec2(100, 100), Vec2(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2));
// Entity boxOutline("box", game.SDLRenderer, PolyDrawType::DRAW_OUTLINE_RECT);
// boxOutline.SetDrawColour(Vec4(144, 111, 111, 255));
// boxOutline.SetRect(Vec2(100, 100), Vec2(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2));
Entity mesh("mesh", game.SDLRenderer, PolyDrawType::DRAW_LINES);
mesh.SetDrawColour(Vec4(255, 244, 111, 255));
mesh.AddVecPoint(Vec4(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
mesh.AddVecPoint(Vec4(SCREEN_WIDTH, 0, 0, SCREEN_HEIGHT));
// Entity mesh("mesh", game.SDLRenderer, PolyDrawType::DRAW_LINES);
// mesh.SetDrawColour(Vec4(255, 244, 111, 255));
// mesh.AddVecPoint(Vec4(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
// mesh.AddVecPoint(Vec4(SCREEN_WIDTH, 0, 0, SCREEN_HEIGHT));
Sprite sans("sans", game.SDLRenderer, SpriteType::SPRITE_ANIMATED);
sans.LoadSpriteTextures("/resources/sans-undertale-spritesheet.png");
// sans.UseSpriteSheet
while (!game.IsDisplayClosed()) {
game.PollEvents();
@@ -39,10 +40,12 @@ int main(int argc, char** argv) {
}
game.RenderClear();
game.RenderEntity(&mario);
game.RenderEntity(&box);
game.RenderEntity(&mesh);
game.RenderEntity(&boxOutline);
// game.RenderEntity(&box);
// game.RenderEntity(&mesh);
// game.RenderEntity(&boxOutline);
game.RenderUpdate();
}