首先,我很抱歉,如果标题不正确的描述我的问题,但我想不出一个更好的。 =/C++如何跟踪局部变量/对象
我试图做一个游戏,我需要在屏幕上绘制所有的实体是一个演员类的子类。
演员类有一个名为“虚拟void drawMe()”的虚拟函数,它由子代覆盖以指定应如何绘制。
人体工程学,在游戏循环的结束,我想提请所有行动者。我创建了一个“矢量allActors”来帮助我这个,每次我创建一个新的演员,我这样做:“allActors.push_back(& newActor)”。到目前为止这么好(我认为)。
要在循环结束时绘制它们,我遍历allActors中的所有元素,并为每个元素调用“allActors [i] - > drawMe()”。
但我发现,这种方法不会为我本地创建,像子弹字符芽(他们是内部的if语句创建)时创建的演员的工作。 我认为这是因为当我在allActor矢量中保存子弹的地址时,演讲者本身在if语句结束后被销毁,所以这是一个无用的地址。
例如:
if (characterShot == true)
{
Bullet newBullet;
allActors.push_back(&newBullet);
characterShot = false;
}
我不知道该怎样做到这一点的方式,它的作品,因为我只能创建子弹演员在角色芽的想法!
请帮我找出一个更好,更实用的方式做我想做的。
预先感谢您!
我喜欢你对这个问题的想法。这是一个初学者的问题,但我只希望所有初学者都仔细考虑,并花时间耐心地提问。你会很快到达那里! – sehe