我在使用調用地圖的時候,出現了斷言錯誤,但是我用同樣的方法重新做第二張,使用的時候又不會出現這種情況。能請教下這是什麼原因嗎?有什麼解決方法嗎?
基本代碼如下:
std::string lName = mLayerName[t];
TMXLayer *itemLayer = aMap->getLayer(lName);
if (!itemLayer)
continue;
for (int i = 0; i < aMap->getMapSize().width; i++)
for (int j = 0; j < aMap->getMapSize().height; j++) {
Vec2 point(i,j);
// 輸出判斷
int isExist = itemLayer->getTileGIDAt(point);
// 判斷是否存在元素
if (isExist) {
Sprite *node = itemLayer->getTileAt(point); // 就是在這裡除了問題!~
if (node != NULL) {
node->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
}
}
}
麻煩大家看看!~給點建議!~謝謝!~
問題主要出在地圖制作的時候出了小的差錯,找到對應的地方更改,或者從新做一張就可以了!~ 謝謝大家!~