2012-05-01 37 views
0

我在SFML方面頗爲新穎,我一直在使用我在網上找到的基本平鋪引擎。在平鋪引擎中有一臺照相機沒有很好地工作,所以我把它拿出來,目的是隨後用我自己的東西來替換它。直接在此之前,引擎只會繪製屏幕上的瓷磚,並且由於某種原因無法將其他瓷磚添加到需要繪製的瓷磚列表中。在當前的時間,我試圖提取每瓦可能的,但在第一行後接收向量誤差標 - 1.SFML平鋪矢量下標超出範圍

這裏,這似乎是導致錯誤的代碼:

int levelHeight = currentLevel->getHeight(); 
int levelWidth = currentLevel->getWidth(); 

for(int tileY = 1; tileY < levelHeight; tileY++) 
{ 
    for(int tileX = 1; tileY < levelWidth; tileX++) 
    { 
     tile = currentLevel->getTile(tileX, tileY); 

     std::cout << "Adding Tile X: " << tileX << ", Y: " << tileY << " to buffer." << std::endl; 

     if(tile) 
      tile->draw((tileX * tileSize), (tileY * tileSize), display); 
    } 
} 

如果還有什麼事,如果我提供隨時問

回答

2

我認爲內for循環終止條件是不正確將是有益的:

for(int tileX = 1; tileY < levelWidth; tileX++) 

應該是:

for(int tileX = 1; tileX < levelWidth; tileX++) 
        //^ 
+0

Gah固定它,我覺得這麼愚蠢,不知道這一點。感謝您的幫助 – that0n3guy