fix(player): el z-order del saltador respecta la seua posició al sòl
This commit is contained in:
1 parent
f0a0515f28
commit
06ff11d563
1 file changed
+12
-10
@@ -148,20 +148,22 @@ class Player : public AnimatedSprite {
|
||||
|
||||
// Y de la base del jugador (cara inferior de la caixa de colisió). Usada
|
||||
// per al Z-order contra els sarcs: peus per sobre d'un sarc → darrere;
|
||||
// per sota → davant. Mentre el jugador està en l'aire, el feet visual
|
||||
// puja amb `jump_z_` perquè s'ordene davant dels actors a la mateixa
|
||||
// fila lògica.
|
||||
// per sota → davant. NO restem `jump_z_`: el saltador no canvia de
|
||||
// tile lògica, només s'eleva visualment, i el sorting ha de respectar
|
||||
// la posició al món (un sarc al nord segueix darrere encara que el
|
||||
// sprite del jugador estigui amunt). Veure també `getGroundFeetY`,
|
||||
// que coincideix amb aquest mètode i s'usa específicament per
|
||||
// marcar la posició de la sombra a nivell de sòl.
|
||||
[[nodiscard]] auto getFeetY() const -> float {
|
||||
return getPosY() + static_cast<float>(collision_y_offset + collision_size) - jump_z_;
|
||||
}
|
||||
|
||||
// Y de la base del jugador IGNORANT el salt (sempre la base del cos
|
||||
// al món, no la posició visual). L'usa el render de la sombra perquè
|
||||
// es pinte sempre al sòl, encara que el jugador estigui enlaire.
|
||||
[[nodiscard]] auto getGroundFeetY() const -> float {
|
||||
return getPosY() + static_cast<float>(collision_y_offset + collision_size);
|
||||
}
|
||||
|
||||
// Alies semàntic: els peus del jugador al sòl. Coincideix amb
|
||||
// `getFeetY` i s'usa al callsite del render de la sombra per fer
|
||||
// explícit que la sombra es pinta al pla del sòl, no a la posició
|
||||
// visual del sprite.
|
||||
[[nodiscard]] auto getGroundFeetY() const -> float { return getFeetY(); }
|
||||
|
||||
// Estat actual de la màquina d'estats. L'usa el render (animació
|
||||
// jump_*), el resolver de col·lisions (filtre per altura) i el
|
||||
// GameScene (per saber si renderitzar la sombra).
|
||||
|
||||
Reference in new issue
Block a user