Mam mapę kafelkową, wiele z tworzonych obiektów różni się jedynie położeniem na mapie. Obecnie mam ładowanych około 1000 obiektów samego tła. Muszę to zoptymalizować, więc wpadłem na pomysł że przy wczytywaniu obiektów z pliku, po prostu będę wpisywał wszystkie pozycję na których ma się wyświetlić sprite, i wczyta je do sf::vector2f w jakimś kontenerze. Ale jak wygląda sprawa z kolizją:
if(entity.getGlobalBounds().intersects(sprite.getGlobalBounds()))
funkcja pobiera pozycję kafla przy uwzględnianiu kolizji, czy więc powinienem te linijkę zastąpić własnym kodem, który uwzględni w pętli for pozycję danych obiektów?
I czy właściwie moje rozwiązanie jest dobre, czy proponujecie coś innego?
Dodam jeszcze że wczytywanie kafli działa na tej zasadzie:
[(BITMAPID:Bg)(POSITION:0,0)(RECT:0,0)(TILESIZE:32,32)(COLLISION:0)]
[(BITMAPID:Bg)(POSITION:100,200)(RECT:0,0)(TILESIZE:32,32)(COLLISION:0)]
[(BITMAPID:Bg)(POSITION:40,560)(RECT:0,0)(TILESIZE:32,32)(COLLISION:1)]
tak bym dodał coś takiego:
[(BITMAPID:Bg)(RECT:0,0)(TILESIZE:32,32)(COLLISION:0)(POSITION:0,0)(POSITION:100,200)(POSITION:400,580)]