Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. //Author Jose Esteve <estevere@esat-alumni.com>
  2.  
  3. #include <stdio.h>
  4. #include <cstdlib>
  5.  
  6. #include <cmath>
  7. #include <iomanip>
  8. #include <iostream>
  9. #include <sstream>
  10.  
  11. #include "esat/draw.h"
  12. #include "esat/input.h"
  13. #include "esat/math.h"
  14. #include "esat/sprite.h"
  15. #include "esat/time.h"
  16. #include "esat/window.h"
  17.  
  18. #include "background.h"
  19. #include "label.h"
  20. #include "playertest.h"
  21. #include "rect.h"
  22. #include "superstring.h"
  23.  
  24. void RenderFPS() {
  25. static double last_time = esat::Time();
  26. double current_time = esat::Time();
  27. double fps = 1000.0 / (current_time - last_time);
  28. std::stringstream ss;
  29. ss << "FPS = " << std::setprecision(2) << std::fixed << fps;
  30. esat::DrawSetFillColor(0, 255, 255, 255);
  31. esat::DrawSetTextSize(40);
  32. esat::DrawSetTextBlur(0);
  33. esat::DrawText(10, 45, ss.str().c_str());
  34. last_time = current_time;
  35. }
  36.  
  37. int esat::main(int argc, char **argv) {
  38. double current_time, last_time;
  39. unsigned char fps = 25;
  40. double time = esat::Time();
  41. float delta_time = 0.0f;
  42. Background bg;
  43. Background level;
  44. Background bg2;
  45. Label texto;
  46. PlayerTest player;
  47. texto.borderColor_ = {0xFF, 0x00, 0x00, 0xFF};
  48. texto.fillColor_ = {0xFF, 0x00, 0x00, 0xFF};
  49.  
  50. esat::WindowInit(1680, 900);
  51. WindowSetMouseVisibility(true);
  52. esat::SpriteHandle bg_spr = esat::SpriteFromFile("..\\data\\sprites\\background_1_big.png");
  53. esat::SpriteHandle lvl_spr = esat::SpriteFromFile("..\\data\\sprites\\background_level_1_big.png");
  54. esat::SpriteHandle bg2_spr = esat::SpriteFromFile("..\\data\\sprites\\background_2_big.png");
  55.  
  56. texto.init("prueba background", "..\\data\\fonts\\upheavtt.ttf", 20);
  57. texto.setPosition(50.0f, 50.0f);
  58. player.init({600.0f, 750.0f});
  59.  
  60. bg.init(bg_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 355.0f);
  61. level.init(lvl_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 900.0f);
  62. bg2.init(bg2_spr, 1680, 900, 1, 0, 1, {0.0f, 0.0f}, 0.0f, 900.0f);
  63.  
  64. last_time = esat::Time();
  65. while (esat::WindowIsOpened() &&
  66. !esat::IsSpecialKeyDown(esat::kSpecialKey_Escape)) {
  67. delta_time = esat::Time() - last_time;
  68. last_time = esat::Time();
  69.  
  70. if (esat::Time() - time >= 500) {
  71. time = esat::Time();
  72. }
  73.  
  74. //inputs
  75. player.movePlayer();
  76.  
  77. if (player.body.pos_.x < 100 && esat::IsSpecialKeyPressed(kSpecialKey_Left)) {
  78. bg.set_speed(0.13f);
  79. level.set_speed(0.15f);
  80. bg2.set_speed(0.17);
  81. } else if (player.body.pos_.x > 1500 && esat::IsSpecialKeyPressed(kSpecialKey_Right)) {
  82. bg.set_speed(-0.13f);
  83. level.set_speed(-0.15f);
  84. bg2.set_speed(-0.17);
  85. } else {
  86. bg.stop();
  87. level.stop();
  88. bg2.stop();
  89. }
  90.  
  91. //player.movePlayer();
  92.  
  93. //movimiento
  94. bg.update(delta_time);
  95. level.update(delta_time);
  96. bg2.update(delta_time);
  97.  
  98. esat::DrawBegin();
  99. esat::DrawClear(0, 0, 0);
  100. //DIBUJADO
  101. //bg detras
  102. bg.draw();
  103. level.draw();
  104.  
  105. //player
  106. player.draw();
  107.  
  108. //bg delante
  109. bg2.draw();
  110. texto.draw();
  111.  
  112. esat::DrawEnd();
  113.  
  114. esat::WindowFrame();
  115. }
  116.  
  117. esat::WindowDestroy();
  118. //soloud.deinit();
  119.  
  120. return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement