Si j'ai bien compris, ce que tu essaie de faire, c'est d'afficher la hitbox de ta tile. Jusque là, tout va bien, sauf que ta tile n'est pas rectangulaire, mais correspond plutôt à un losange
. Donc inutile d'essayer de dessinner ton sf::RectangleShape, tu n'y arrivera pas. La solution c'est d'utiliser une sf::VertexArray de type sf::Quads, comme décrit dans le tuto SFML sur les tableaux de sf::Vertex.
Pour une collision point-losange, ce n'est pas sorcier, cela peut être simplifié à deux collisions point-triangle, donc pas de problème de ce côté-là.
Ta deuxième question maintenant. Il suffit de définir l'origine du sprite de ton personnage à ses pieds. Donc, si tu as un perso de 50px de haut et de 10px de large tu pourrais faire quelque chose comme :
spritePerso.setOrigin(5,50);
pour que sa position soit relative à ses pieds et non à sa tête, comme c'est le cas par défaut.
J'espère avoir répondu à ta question, et si ce n'est pas le cas, je m'en excuse !