Advertisement
CH1156

C++

Aug 28th, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. #include <SFML/Graphics.hpp>
  2. #include <iostream>
  3. #include <list>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. sf::RenderWindow window(sf::VideoMode(800, 600), "Tile Editor");
  11. sf::Event event;
  12. sf::Mouse mouse;
  13. sf::Clock clock;
  14. sf::Time time;
  15. sf::View scrollScreen;
  16. list<sf::Sprite> setTile;
  17. list<sf::Sprite>::iterator iter;
  18. vector<sf::Sprite> spr_Vector;
  19. int GridSize;
  20. window.setFramerateLimit(60);
  21. scrollScreen.reset(sf::FloatRect(0, 0, window.getSize().x, window.getSize().y));
  22.  
  23.  
  24. sf::Texture blankGridTexture;
  25. sf::Sprite blankGridSprite;
  26. if(!blankGridTexture.loadFromFile("Resources/Tiles/Grid.png"))
  27. {
  28.  
  29. }
  30. blankGridSprite.setTexture(blankGridTexture);
  31. blankGridSprite.setOrigin(16, 16);
  32.  
  33. GridSize = 30;
  34.  
  35. //Input grid into vector
  36. for(int i = 0; i < GridSize; i++)
  37. {
  38. spr_Vector.push_back(blankGridSprite);
  39. }
  40.  
  41. while(window.isOpen())
  42. {
  43. while(window.pollEvent(event))
  44. {
  45. switch(event.type)
  46. {
  47. case sf::Event::Closed:
  48. {
  49. window.close();
  50. }break;
  51. case sf::Event::Resized:
  52. {
  53. sf::FloatRect viewArea(0, 0, event.size.width, event.size.height);
  54. window.setView(sf::View(viewArea));
  55. scrollScreen.reset(sf::FloatRect(0, 0, window.getSize().x, window.getSize().y));
  56. }break;
  57. }
  58. }
  59. window.clear(sf::Color::White);
  60.  
  61. time = clock.getElapsedTime();
  62.  
  63. sf::Vector2i pixel_pos = sf::Mouse::getPosition(window);
  64. sf::Vector2f coord_pos = window.mapPixelToCoords(pixel_pos);
  65.  
  66. cout << "Row: " << rint(coord_pos.x / 32) << ",";
  67. cout << "Column: " << rint(coord_pos.y / 32) << endl;
  68.  
  69. scrollScreen.setViewport(sf::FloatRect(0, 0, 1.0f, 1.0f));
  70.  
  71. //Load Grass
  72. sf::Texture tileTexture;
  73. sf::Sprite tileSprite;
  74. if(!tileTexture.loadFromFile("Resources/Tiles/Grass.png"))
  75. {
  76.  
  77. }
  78. tileSprite.setTexture(tileTexture);
  79. tileSprite.setOrigin(16, 16);
  80.  
  81. if(sf::Keyboard::isKeyPressed(sf::Keyboard::A))
  82. {
  83. scrollScreen.move(-10, 0);
  84. }
  85. else if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))
  86. {
  87. scrollScreen.move(10, 0);
  88. }
  89. if(sf::Keyboard::isKeyPressed(sf::Keyboard::W))
  90. {
  91. scrollScreen.move(0, -10);
  92. }
  93. else if(sf::Keyboard::isKeyPressed(sf::Keyboard::S))
  94. {
  95. scrollScreen.move(0, 10);
  96. }
  97.  
  98.  
  99. for(int i = 0; i < spr_Vector.size(); i++)
  100. {
  101. window.draw(spr_Vector[i]);
  102. }
  103.  
  104. if(sf::Mouse::isButtonPressed(sf::Mouse::Left))
  105. {
  106. //tileSprite.setPosition(rint(coord_pos.x / 32) * 32, rint(coord_pos.y / 32) * 32);
  107.  
  108. }
  109.  
  110. window.setView(scrollScreen);
  111. clock.restart();
  112. window.display();
  113. }
  114.  
  115. return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement