Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Author Jose Esteve <estevere@esat-alumni.com>
- #include <stdio.h>
- #include <cstdlib>
- #include <cmath>
- #include <iomanip>
- #include <iostream>
- #include <sstream>
- #include "esat/draw.h"
- #include "esat/input.h"
- #include "esat/math.h"
- #include "esat/sprite.h"
- #include "esat/time.h"
- #include "esat/window.h"
- #include "background.h"
- #include "label.h"
- #include "playertest.h"
- #include "rect.h"
- #include "superstring.h"
- void RenderFPS() {
- static double last_time = esat::Time();
- double current_time = esat::Time();
- double fps = 1000.0 / (current_time - last_time);
- std::stringstream ss;
- ss << "FPS = " << std::setprecision(2) << std::fixed << fps;
- esat::DrawSetFillColor(0, 255, 255, 255);
- esat::DrawSetTextSize(40);
- esat::DrawSetTextBlur(0);
- esat::DrawText(10, 45, ss.str().c_str());
- last_time = current_time;
- }
- int esat::main(int argc, char **argv) {
- double current_time, last_time;
- unsigned char fps = 25;
- double time = esat::Time();
- float delta_time = 0.0f;
- Background bg;
- Background level;
- Background bg2;
- Label texto;
- PlayerTest player;
- texto.borderColor_ = {0xFF, 0x00, 0x00, 0xFF};
- texto.fillColor_ = {0xFF, 0x00, 0x00, 0xFF};
- esat::WindowInit(1680, 900);
- WindowSetMouseVisibility(true);
- esat::SpriteHandle bg_spr = esat::SpriteFromFile("..\\data\\sprites\\background_1_big.png");
- esat::SpriteHandle lvl_spr = esat::SpriteFromFile("..\\data\\sprites\\background_level_1_big.png");
- esat::SpriteHandle bg2_spr = esat::SpriteFromFile("..\\data\\sprites\\background_2_big.png");
- texto.init("prueba background", "..\\data\\fonts\\upheavtt.ttf", 20);
- texto.setPosition(50.0f, 50.0f);
- player.init({600.0f, 750.0f});
- bg.init(bg_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 355.0f);
- level.init(lvl_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 900.0f);
- bg2.init(bg2_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 900.0f);
- last_time = esat::Time();
- while (esat::WindowIsOpened() &&
- !esat::IsSpecialKeyDown(esat::kSpecialKey_Escape)) {
- delta_time = esat::Time() - last_time;
- last_time = esat::Time();
- if (esat::Time() - time >= 500) {
- time = esat::Time();
- }
- //inputs
- player.movePlayer();
- if (player.body.pos_.x < 100 && esat::IsSpecialKeyPressed(kSpecialKey_Left)) {
- bg.set_speed(0.13f);
- level.set_speed(0.15f);
- bg2.set_speed(0.17);
- } else if (player.body.pos_.x > 1500 && esat::IsSpecialKeyPressed(kSpecialKey_Right)) {
- bg.set_speed(-0.13f);
- level.set_speed(-0.15f);
- bg2.set_speed(-0.17);
- } else {
- bg.stop();
- level.stop();
- bg2.stop();
- }
- //player.movePlayer();
- //movimiento
- bg.update(delta_time);
- level.update(delta_time);
- bg2.update(delta_time);
- esat::DrawBegin();
- esat::DrawClear(0, 0, 0);
- //DIBUJADO
- //bg detras
- bg.draw();
- level.draw();
- //player
- player.draw();
- //bg delante
- bg2.draw();
- texto.draw();
- esat::DrawEnd();
- esat::WindowFrame();
- }
- esat::WindowDestroy();
- //soloud.deinit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement