C++ and Sfml Inheritance

C++ and Sfml Inheritance

本文关键字:Inheritance Sfml and C++      更新时间:2023-10-16

如何通过继承使用动态变量。样本;

 class car
{
public:
    car();
    sf::Vector2f whereİsCar();
    void event(); //veryLong code = change spriteCar Position
protected:
  sf::Sprite spriteCar;
};
car::car()
{
    spriteCar.setPosition(300, 10);

}
car::Update()
{
    cout << spriteCar.position.x; << " " << spriteCar.position.y; // example Console : 550 210

}
class Rocket : public car
{
public:
    Rocket();
    void collideCar();
    void update();
private:
    sf::Sprite spriteRocket;
}
void Rocket::collideCar()
{
  cout << spriteCar.position.x; << " " << spriteCar.position.y; // Console : 300 10
}

当我运行游戏时,更改类中的值不会更改类 b。

我该如何解决它。

我希望理解我。谢谢你的帮助。

因为我想你正在使用两个不同的对象。

Car car();
Rocket rocket();
car.event() //spriteCar's position changed inside car object. Not relevant to rocket object.

您错误地使用了继承。您可以传递对火箭对象的引用以在其中使用。

也许您可能想与我们分享您的主代码。