Pages: 1
Bonjour,
J'ai un terrain répartis en plusieurs petits terrains (un tableau de ITerrainSceneNode).
J'affiche mes terrains a une certaine distance de moi, lorsqu'ils sont trop loins de moi je les supprime avec un appel de remove() (pour économiser la mémoire), puis des qu'ils sont assez proche de moi je les recharges .
Le probleme : j'ai un truc de ce style :
Code : C++
for(int i=0; i<dim1; i++) for(int j=0; j<dim2; j++) { int dist=(int)sqrt( pow(camera->getAbsolutePosition().X-(i*20000+10000),2) + pow(camera->getAbsolutePosition().Z-(j*20000+10000),2)); if(dist<20000) { if(a été remover) recharge le terrain terrain[i][j]->setVisible(true); } else { if(terrain[i][j]!=remover) { terrain[i][j]->setVisible(false); terrain[i][j]->remove(); } } }
Je cherche donc un moyen de savoir si mon terrain a déja été remove ou pas, si il existe pas de commande spécial, je ferais un tableau de bool avec false remover et true pas encore remove.
Enfin voila, ya t il une commande spécial pour savoir si un terrain a subit un appel de remove() ou pas ?
Merci d'avance
Hors ligne
heu au pif (pas la doc sous la main ni de compilo ) si tu fais un drop du pointeur ca doit dégager le terrain de la mémoire et t'as juste à tester si terrain[i][j] == NULL; je pense
Pas testé alors pas taper hein
Hors ligne
Pages: 1