首先,我很抱歉,如果標題不正確的描述我的問題,但我想不出一個更好的。 =/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