Advertisement
raoul632

Untitled

Feb 26th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #include <converter.hpp>
  2. #include <box2d/box2d.h>
  3. #include <SFML/Graphics.hpp>
  4. #include <iostream>
  5. #include <list>
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. int main()
  13. {
  14. int height = 800, width = 800;
  15. sf::RenderWindow window(sf::VideoMode(800, 600, 32), "04_Basic");
  16. window.setFramerateLimit(60);
  17.  
  18. b2Vec2 gravity(0.f, 9.8f);
  19. b2World world(gravity);
  20.  
  21. b2BodyDef bodyDef;
  22. bodyDef.position.Set(converter::pixel_to_meters(400.f), converter::pixel_to_meters(10.f));
  23. bodyDef.type = b2_dynamicBody;
  24. b2PolygonShape b2shape;
  25. b2shape.SetAsBox(converter::pixel_to_meters(40.f / 2.0f), converter::pixel_to_meters(40.f / 2.0f));
  26. b2FixtureDef fixtureDef;
  27. fixtureDef.density = 1.0;
  28. fixtureDef.friction = 0.4;
  29. fixtureDef.restitution = 0.5;
  30. fixtureDef.shape = &b2shape;
  31. b2Body* res = world.CreateBody(&bodyDef);
  32. res->CreateFixture(&fixtureDef);
  33. sf::RectangleShape shape(sf::Vector2f(40.0f, 40.0f));
  34. shape.setOrigin(40.f / 2.0f, 40.f / 2.0f);
  35. shape.setPosition(sf::Vector2f(400.f, 10.f));
  36. shape.setFillColor(sf::Color::Blue);
  37. res->SetUserData(&shape);
  38.  
  39. while (window.isOpen())
  40. {
  41. sf::Event event;
  42.  
  43.  
  44. while (window.pollEvent(event))
  45. {
  46. sf::Event event;
  47. while (window.pollEvent(event))
  48. {
  49. if (event.type == sf::Event::Closed)//Close window
  50. window.close();
  51. }
  52.  
  53. if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
  54. {
  55. int x = sf::Mouse::getPosition(window).x;
  56. int y = sf::Mouse::getPosition(window).y;
  57.  
  58. }
  59.  
  60. world.Step(1.0f / 60.0f, int32(8), int32(3));
  61.  
  62. window.clear();
  63. shape.setPosition(converter::meters_to_pixels(res->GetPosition().x), converter::meters_to_pixels(res->GetPosition().y));
  64. shape.setRotation(converter::rad_to_deg<double>(res->GetAngle()));
  65. window.draw(shape);
  66. window.display();
  67.  
  68. }
  69. }
  70.  
  71.  
  72.  
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement