2012-05-01 6 views
0

저는 SFML을 처음 사용하고 온라인에서 찾은 기본 타일 엔진을 가지고 놀았습니다. 타일 ​​엔진에서 잘 작동하지 않는 카메라가 있었기 때문에 나중에 그것을 대체 할 의도로 카메라를 꺼 냈습니다. 이것에 직접적으로 앞서서, 엔진은 화면 상에있는 타일들만을 그렸고 어떤 이유로 그려야 할 타일들의리스트에 타일들을 추가 할 수 없었다.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); 
    } 
} 

경우 : 여기

1. 오류를 일으키는 것으로 보인다 코드입니다 - 현재 시간에, 나는 가능한 모든 타일을 그리는 시도하고 있지만 첫 번째 행 후 벡터 첨자 오류가 발생 내가

답변

2

내가 내부 for 루프 종료 조건이 잘못 생각 문의 주시기 제공하는 경우 유용 할 것이라고 아무것도가있다 :

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

은 다음과 같아야합니다.

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

Gah가 고정되어 있으므로주의하지 않으면 너무 어리 석습니다. 도와 줘서 고마워. – that0n3guy

관련 문제