我正在用C ++编写项目符号系统。我对c ++不太了解。
对于我的子弹系统,我想要一个子弹管理器类,该类可以更新并绘制所有子弹。我也有一个叫做“子弹”的类,很子弹。
class Bullet {
public:
Bullet();
sf::Sprite bullet_sprite;
sf::Vector2f movement_vector;
sf::Vector2f destination_pos;
float speed;
};
class BulletManager : public Entity {
public:
virtual void draw(sf::RenderWindow& window);
virtual void update(sf::RenderWindow& window);
std::vector<Bullet*> bullets;
};
我将每个项目符号存储在一个向量中。在绘制和更新功能中,我遍历此向量并对每个项目符号执行必要的操作。
我在将 player 类的向量添加子弹时遇到困难。我正在尝试像这样传递对新项目符号的引用:
bullet_manager.bullets.push_back(&bullet);
但是,子弹向量的大小始终保持为零。
如何从播放器类向此向量添加新的项目符号对象?
也-在播放器类中有此功能,因为它是“处理播放器输入”功能的一部分。
答案 0 :(得分:-1)
尝试使用std :: move()
检查此链接!
https://es.cppreference.com/w/cpp/utility/move
,然后从链接中查看以下示例:
paymentQueue:updatedTransactions