0
我在cocos2d-X項目,這兩個類:爲什麼cocos2d-x計劃更改了成員對象?
class A : public Layer
{
...
B * b;
void callAddNumber(float dt);
}
A::A()
{
b = B::create();
}
void A::callAddNumber(float dt)
{
b->addNumber();
}
class B : public Node
{
...
int number;
B();
void addNumber();
}
B::B()
{
number = 100;
}
void B::addNumber()
{
number += 1;
}
和一個對象調用shschedule(schedule_selector(A::callAddNumber), 1.0f);
但數量如我所料不加;看來在我預定之後,b對象變成了釋放? b->號碼變成了垃圾號碼?爲什麼會發生? 我確定我在A的構造函數中初始化了b
。
你不顯示,分配或以其他方式在'類A',初始化'B * B'的代碼可能是發生問題的地方。目前還不清楚你如何從'B'類型訪問數字;據推測,你有這樣做的一些方法(因爲你需要能夠打印數字)。但是根據(未)顯示的代碼,問題很可能出現在'class A'的構造函數中。 –