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

[Java] Deux problèmes

hexabeast
hexabeast
Niveau 9
22 août 2014 à 16:57:31

Bonjour,
Je rencontre actuellement deux problèmes sur mon jeu:

-Lorsque j'utilise des ArrayList, et que je les parcours en faisant par exemple "for(int i = 0; i < mobList.size(); i++)", il arrive que quelquefois un objet ne soit pas "vu" par la boucle, et disparaisse pendant un très bref instant à l'écran.
Je suis sûr que ça vient de l'ArrayList ou de mon utilisation de celui-ci, car j'ai ce problème dès que j'en utilise un.

-Lorsque j’exécute mon jeu directement sous Eclipse (Run as Java Application), je vois que mon jeu tourne à 450 frames par seconde. Par contre quand je l'exporte, et que je lance le .jar, j'en ai 300 à 350 par seconde dans exactement les mêmes circonstances. J'ai réessayé plusieurs fois avec à chaque fois cette grosse différence. Vous savez à quoi ça peut être dû?

Merci d'avance :)

Bunyan
Bunyan
Niveau 17
22 août 2014 à 17:03:33

Pour ton premier point, il faudrait voir le code réalisé dans ta boucle.
Au déboté, tu modifies ton ArrayList dans la boucle, en faisant une suppression, et tu sautes des éléments.

Aucune idée pour le second point. Plusieurs hypothèses me viennent, mais sans plus...

Darkandgel
Darkandgel
Niveau 10
22 août 2014 à 17:05:32

Pour le premier, il nous faudrait le reste du code pour pouvoir t'aider, et une description un peu plus complete du probleme que tu rencontres. La tout ce que je peux te suggérer c'est de remplacer ton par par un foreach.

Pour le second, je lance une hypothèse au pif (me tapez pas trop fort) : il est possible qu'éclipse précharge certains éléments (comme des libs), ce qui pourrait accélérer les choses. Sinon il est également possible que tu n'utilises pas le meme JRE au sein d'Eclipse.

hexabeast
hexabeast
Niveau 9
22 août 2014 à 17:09:59

tout ce qu'il y a dans le for c'est "mobList.get(i).sprite.draw(batch);" et c'est le draw de LibGDX

hexabeast
hexabeast
Niveau 9
22 août 2014 à 17:13:29

Ah et d'ailleurs ça arrive n'importe quand à priori, pas que quand j'ajoute/supprime un élément à peu près au même moment.

Bunyan
Bunyan
Niveau 17
22 août 2014 à 17:14:37

Donc, ce qui arrive, c'est qu'il y a certains "draw" qui ne passent pas, c'est ça ?

hexabeast
hexabeast
Niveau 9
22 août 2014 à 17:21:37

ouais c'est ça, si je draw quelque chose hors d'une boucle d'arraylist j'ai jamais cette brève disparition.

Sinon le 2ème problème est probablement résolu, mon JRE dans eclipse est 64 bits tandis que celui qui lance les jar est le même en 32 bits, merci Darkangel :)

hexabeast
hexabeast
Niveau 9
22 août 2014 à 17:36:12

Je pense le premier problème est aussi résolu , en réalité c'est que les modifications apportées aux sprites contenus dans les arraylist qui font ça, rien à voir directement avec l'arraylist, donc ma faute :-( , merci quand même à vous.

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