CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Différents problèmes Java/Libgdx

shinigota
shinigota
Niveau 10
02 août 2013 à 13:09:34

Salut ! :)

J'ai deux gros problèmes sur la création de mon jeu (j'essaie de faire une sorte de shoot em up) :
D'abord, j'ai voulu rajouter un bouton pause dans la classe GameScreen (en utilisant un inputHandler), qui est l'écran de mon jeu (c'est dans les classes screen que j'y met les boutons), sauf qu'après l'avoir rajouté, ma classe InputHandler (qui implémente InputProcessor et qui sert à bouger mon vaisseau à l'aide du clavier ou tirer) ne réagit plus, pourtant le jeu se met bien à jour, les vaisseaux ennemis vont vers moi comme prévus, les météorites apparaissent ...
Voici ma classe GameScreen :
http://pastebin.com/KTLiR4Ka
Ma classe InputHandler :
http://pastebin.com/38C1dn29

En enlevant la ligne Gdx.input.setInputProcessor(stage); ligne 49 de GameScreen, ça fonctionne mais le bouton ne réagit plus...

Autre problème : Quand les ennemis/météorites apparaissent, si je tire là où deux sont apparues au même endroit, mon jeu crash et m'envoie l'erreur :
Exception in thread "LWJGL Application" java.lang.ArrayIndexOutOfBoundsException: -1
at com.badlogic.gdx.utils.Array.removeIndex(Array.jav
a:231)

at com.badlogic.gdx.utils.Array$ArrayIterator.remove(
Array.java:469)

at com.shinigota.View.World.update(World.java:86)
at com.shinigota.Screens.GameScreen.render(GameScreen
.java:39)

at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.m
ainLoop(LwjglApplication.java:214)

at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1
.run(LwjglApplication.java:112)

Voici la classe World où je créer/met à jour mes entités :
http://pastebin.com/k8wJNee3

Je pense que c'est du à la manière dont je vérifie les collisions entre balles/météorites/ennemis, elles sont gérées entités par entités, sauf que certaines ont des hitboxes qui sont "fusionnées", du coup je tire, ça enlève deux météorites/vaisseaux au lieu d'un et du coup mes variables qui prennent la prochaine valeur du tableau se retrouvent en fait avec une valeur qui n'existe pas, et paf erreur... Sauf que j'ai l'impression que j'ai mal fait ça mais je vois pas comment je pourrais faire autrement !

J'ai cherché sur internet pour les deux problèmes, le premier ils parlaient d'utiliser un multiplexer pour gérer deux event en même temps, sauf que j'ai cru comprendre que ça s'utilisait seulement avec les InputProcessors, et pas avec les InputHandlers...
Pour la deuxième, j'ai pas trouvé grand chose ...

Bref, j'espère obtenir de l'aide, ça me bloque un peu !
Merci d'avance et bonne journée :)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment