HUD desactive (temporaire)
Le HUD 2D (newborder, AMMO, ENERGY, messages) est commente dans
GameAppState.initialize() le temps de se concentrer sur l’affichage de l’arme
et le systeme de tir. Le code est juste commente, pas supprime : il sera
reactive en prochaine etape apres que l’arme/tir soient fonctionnels.
Ajout : affichage de l’arme en main (package com.ab3d2.weapon)
Nouveau package dedie aux armes, avec 2 classes initiales :
-
WeaponType: enum listant les 8 armes du jeu (BLASTER, SHOTGUN, RIFLE,
CHARGER, GRENADE_LAUNCHER, ROCKET_LAUNCHER, LASER, PLINK) avec leurs slots
HUD (0..7, correspondant aux touches 1-8) et leurs chemins d’assets
(Scenes/vectobj/<nom>.j3o). -
WeaponViewAppState: AppState qui affiche le modele 3D de l’arme
devant la camera en vue FPS. Architecture : - Node
cameraFollowerqui suit position+orientation de la camera chaque frame - Node
weaponHolderenfant, qui positionne l’arme en coord locales
(offset : droite=+0.25, bas=-0.25, devant=-0.55, rotation 180deg sur Y,
scale=0.8) - Materials de l’arme avec
depthTest=falseet bucket Transparent pour que
l’arme reste visible meme si elle intersecte un mur - Lumieres dediees (AmbientLight + DirectionalLight sur
cameraFollower)
pour que l’arme reste visible en toutes zones - Support des animations via
VectObjFrameAnimControl.attachIfAnimated()
(deja construit en session 72)
Integration GameAppState
- Attache par defaut un WeaponViewAppState avec le
RIFLEcomme arme initiale. - Nouvelles touches debug :
- H : toggle visibilite de l’arme
- Y : arme suivante (cycle dans les 8 armes)
- T : arme precedente
TODO session 76 (prochaine etape)
- Clic gauche = tir avec cadence specifique par arme
- Spawn de projectile visible (modele 3D ou sprite billboard)
- Collision projectile contre murs/portes/ennemis
- Son de tir (samples deja extraits dans session 67?)
- Animation de tir sur l’arme (distinguer idle vs fire dans les frames vectobj)
- Muzzle flash