Я очень новичок в программировании на С ++ и пытаюсь создать простую программу с использованием SFML, в которой можно создавать шары, которые будут подпрыгивать. Тем не менее, я застрял еще до того, как попал в симулятор физики. Кажется, я не могу заставить свой класс по мячу работать. Я хотел использовать его для хранения переменных для каждого созданного шара, а также для обновления и рисования функций. Но каждый раз, когда я сталкиваюсь с какой-то ошибкой, я не могу найти помощи по чему-то настолько простому.
#include <iostream>
#include <SFML\Audio.hpp>
#include <SFML\Graphics.hpp>
#include <SFML\Network.hpp>
#include <SFML\System.hpp>
#include <SFML\Window.hpp>
class Ball
{
public:
// vector for position
sf::Vector2 pos(100,100);
// vector for velocity
sf::Vector2 vel(0,0);
void update()
{
// factors influence velocity
// update position based on velocity
pos.x += vel.x;
pos.y += vel.y;
}
void draw()
{
// draw ball to the window using position vector
sf::circleShape circle(10);
circle.setPosition(pos.x,pos.y);
circle.setFillColor(sf::Color::White);
window.draw(circle);
}
};
int main()
{
/*create window settings*/
sf::ContextSettings settings;
settings.antialiasingLevel = 8; // set the antialiasing level
/*create window*/
sf::RenderWindow window;
window.create(sf::VideoMode(800, 600), "Simple Physics", sf::Style::Default, settings);
/*create ball(s)*/
Ball ball01;
/*Main loop*/
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
// "close requested" event: close the window
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color::White);
// call ball.update(); and ball.draw();
ball01.update();
ball01.draw();
window.display();
}
}
Любая помощь или крит будет принята с благодарностью, заранее спасибо!