Я рисую тайловую карту в окне рендеринга SFML. Я хочу определить, какая плитка нажата пользователем, но я просто не могу найти решение. Прежде всего, каждая плитка имеет 32 ширины и высоты. Что я пытаюсь сделать на данный момент: получить позицию клика. Прокручивайте тайловую карту до тех пор, пока не будет найден тайл, позиция которого находится между 100. Поэтому, если я нажму (100,100), тайл должен начинаться с (96,96), но это, похоже, не работает.
Вот мой фрагмент кода из функции getTile(mousepos x,mousepos y)
Tile* TileMap::getTile(int x, int y)
{
Tile *t = NULL;
for(int i = 0; i < tilemap.size(); i++)
{
for(int j = 0; j < tilemap[i].size(); j++)
{
if(x > tilemap[i][j].sprite.getPosition().x
&& x < (tilemap[i][j].sprite.getPosition().x+32))
{
if(y > tilemap[i][j].sprite.getPosition().y
&& y < (tilemap[i][j].sprite.getPosition().y+32))
{
t = &tilemap[i][j];
break;
}
}
}
}
return t;
}