Jeg har lavet denne funktion:
void GameView::onUpdate() {
for(int i = 0; i < data->getMapH(); i++) {
for(int j = 0; j < data->getMapW(); j++) {
Tile t = data->getTile(i, j);
SDL_Rect sOffset;
sOffset.x = t.getX();
sOffset.y = 0;
sOffset.w = t.getX()+32;
sOffset.h = 32;
SDL_Rect dOffset;
dOffset.x = j*32;
dOffset.y = i*32;
if(SDL_BlitSurface(data->getSprite(data->getTileSheet()) , &sOffset, screen, &dOffset) != 0) {
cout << "fjel i blit af stage" << endl;
}
cout << "onupdate" << endl;
}
//denne bliver udskrevet
cout << "onupdate2" << endl;
}
//denne bliver ikke udskrevet!!!
cout << "onupdate1" << endl;
for(int i = 0; i < data->getActorSize(); i++) {
Actor* a = data->getActor(i);
SDL_Rect dOffset;
dOffset.x = a->xPos;
dOffset.y = a->yPos;
if(SDL_BlitSurface(data->getSprite(a->sprite), NULL, screen, &dOffset) == -1) {
cout << "Fejl i blit" << endl;
}
}
if(SDL_Flip(screen) == -1) {
cout << "kunne ikke flippe" << endl;
}
cout << "GameView update" << endl;
}
Mit problem er at den stopper(med at svare) lige efter de første to for loop (det ene er inden i det andet)
Jeg har ingen ide om hvorfor det sker.
som i kan se har jeg lavet nogle cout's her er hvad der bliver udskrevet:
onupdate
onupdate
onupdate
onupdate
onupdate
onupdate2
onupdate
onupdate
onupdate
onupdate
onupdate
onupdate2
onupdate
onupdate
onupdate
onupdate
onupdate
onupdate2
onupdate
onupdate
onupdate
onupdate
onupdate
onupdate2
onupdate
onupdate
onupdate
onupdate
onupdate
onupdate2
håver i kan hjælpe mig. Syntes selv det er meget mærkeligt.