Aller au contenu principal

Session 75 — Arme en main (vue FPS) + HUD desactive temporairement

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 cameraFollower qui suit position+orientation de la camera chaque frame
  • Node weaponHolder enfant, 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=false et 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 RIFLE comme 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *