cocos2dx 销毁资源问题
void HelloWorld::update(float dt)
{
world->Step(dt,8,3);
CCSprite *s;
b2Body *b = world->GetBodyList();
int temp=world->GetBodyCount();
//b=b->GetNext();
for ( int i=0;i<temp;i++) {
b2Vec2 p= b->GetPosition();
if (p.x<-3) {
s = (CCSprite*)b->GetUserData();
if (s!=NULL) {
s->removeFromParent();
}
world->DestroyBody(b);
}
b++;
}
}
红色的字那里报异常
void HelloWorld::update(float dt)
{
world->Step(dt,8,3);
CCSprite *s;
//int temp=world->GetBodyCount();
//b=b->GetNext();
for (b2Body *b = world->GetBodyList();b!=NULL;b=b->GetNext()) {
b2Vec2 p= b->GetPosition();
if (p.x<-3) {
s = (CCSprite*)b->GetUserData();
if (s!=NULL) {
s->removeFromParent();
}
world->DestroyBody(b);
}
//b++;
}
}
换一种写法,还是报异常,, 有大神知道这是怎么回事么,, 纠结了一下午了。