CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • 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
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : J'aide les personne dans Libgdx

DébutPage précedente
1234
Page suivanteFin
arts[jv] arts[jv]
MP
Niveau 8
11 août 2014 à 20:25:52

Bonjour à tous,
Je créer ce poste pour proposé monde aide dans le domaine de développement de jeux vidéos en JAVA avec la librairie LibGDX.

Pour ceux qui ne connaissent pas, LibGdx est une librairie open source, qui permet de développer un jeu sur windows, android, ios et en html5, tout cela en un seul code sources.

Pour ma part, j'utilise cette librairie depuis le début de l’année, j'ai quelques projets, mais aucun jeu réellement finis. Voici par exemple un jeu développer en 48h avec 4 autres personnes, pour une global game jam:
http://globalgamejam.org/2014/games/buchbuch-game

Actuellement, je devellope un jeu pour android de type runner.

Je peux vous aider dans:
- le chargement de ressources.
- création de menu avec scene2D.
- création de map 2D/2.5D avec tiled et box2D.
- création de physique de jeu avec box2D.
- création de lumière avec box2DLight.
- création d'effet de particules.
Et bien plus, n'hésité pas à poser vos question, et surtout à détaillé vôtre problème le plus précisément possible.

Bonne journée à vous !

MounchMan MounchMan
MP
Niveau 10
11 août 2014 à 21:05:57

Enfin :hap: Un topic pour les trues de la life :cool:

arts[jv] arts[jv]
MP
Niveau 8
11 août 2014 à 21:13:14

Libgdx nous aide quand même beaucoup dans le enveloppement de jeu vidéo, mais c'est sûr que c'est tout de même plus complexe que Construct 2.

Si vôtre objectif est de créer un jeu de bonne qualité rapidement => Construct 2, game maker, unity...

Si vous aimez développer, que vous êtes prêt a faire en 1h ce que les personne de la premiere catégorie ont fais en 5 minutes, alors => libgdx, sfml, lwjgl...

hexabeast hexabeast
MP
Niveau 9
12 août 2014 à 00:11:15

Ok, j'ai deux questions:

Quelle est l'utilité d'utiliser une scene2D pour faire un menu, au lieu d'utiliser simplement des textures?

Et aussi, même si c'est plus du Java en général que du libGDX: Comment peut-on executer une fonction (dans mon cas qui load un array de bytes compressé, ce qui prend au moins 5 secondes) en parallèle du jeu, que le jeu continue de tourner et reste jouable durant le chargement?

Merci d'avance :)

Cezar[JV] Cezar[JV]
MP
Niveau 7
12 août 2014 à 00:29:53

J'ai une question aussi. J'ai fait quelques jeu avec et je me demandais si t'avait pas un "pattern" à me proposer pour faire des menus avec libgdx.

Je suis débutant (un an en c++ et quelques moi sur java) donc désoler si les termes que j'emploie sont obscur :hap:

arts[jv] arts[jv]
MP
Niveau 8
12 août 2014 à 15:06:52

hexabeast :
1 - L' origine du référentiel pour le positionnement des image est situer en bas a gauche de l'écran, si je place une image a l'origine elle se situe donc en bas a gauche.
Mais si par exemple je veux récupérer les coordonnée de la souris, l'origine du référentiel ce situe en HAUT a gauche, ce qui veux dire que la souris se situe en (0, 0) lorsqu'elle est en haut a gauche de l'écran. Donc pour tester si ton curseur est situé sur ta texture par exemple, il faut bidouillé les position sur l'axe Y de ton curseur et de ta texture. Pour résoudre simplement ce problème de positionnement, on créer un bouton qui a le même référentiel que t'es input, sur lequel on applique une texture.
Visuellement le résultat est le même, mais se seras bien plus lisible et rapide d'utiliser scene2D, scene2D te permet par exemple de créer rapidement: des case a coché, des curseurs...

2- Pour cela je t'invite à t'orienter sur la notion de "multi thread" en java, tu as pas mal de tutoriels sur internet, je peux pas me permettre de faire un cours de java ici :), cependant si tu as un problème après avoir consulté les tutos, n'hésite pas a me contacté par mp, pour évité le HS.

Cezar[JV]:

Voici un tutoriel qui explique comment créer un menu avec libgdx avec un layout, ne sachant pas quel genre de menu tu souhaite ( main menu avec de simple boutons, menu option avec curseur de réglage du son...), je t'invite à apprendre à créer ton propre layout par toi même ici: http://steigert.blogspot.ch/2012/03/4-libgdx-tutorial-tablelayout.html

Bien sure si tu as un problème ou une question SUITE à ce tutoriel n'hésite pas.

Bonne journée et bon courage à vous.

Arkwolf Arkwolf
MP
Niveau 17
12 août 2014 à 15:36:19

Je me permet de compléter les réponses :hap:

"hexabeast Voir le profil de hexabeast
Posté le 12 août 2014 à 00:11:15 Avertir un administrateur
Ok, j'ai deux questions:

Quelle est l'utilité d'utiliser une scene2D pour faire un menu, au lieu d'utiliser simplement des textures?

Et aussi, même si c'est plus du Java en général que du libGDX: Comment peut-on executer une fonction (dans mon cas qui load un array de bytes compressé, ce qui prend au moins 5 secondes) en parallèle du jeu, que le jeu continue de tourner et reste jouable durant le chargement?

Merci d'avance :)"

1 :d) parce que dans scene2D tu as toute la gestion des différents Label, combobox, etc. T'es pas forcément obligé de passer par un stage pour bénéficier de ce qu'ils appellent scene2D, tu peux utiliser des objets comme des boutons et ensuite les updater et les dessiner à la main.
En plus de ça t'as des objets comme des tableaux pour bien indenter le tout, et des Actions que tu peux appliquer super facilement pour faire des transitions (comme agrandir un bouton quand tu as la souris dessus avec un type d'interpolation prédéfini sans avoir à le faire à la main par exemple). Ça vaut vraiment le coup :oui:
Mais après si tu te sers uniquement de boutons simples et rien d'autre, tu peux t'en passer si t'as pas envie de t'y mettre

2- dans libgdx tu as Gdx.app.postRunnable(runnable) qui est très pratique et simple à utiliser pour ça

arts[jv] arts[jv]
MP
Niveau 8
12 août 2014 à 16:45:25

Merci de completer cette réponse.
En effet scene2D permet bien plus que de créer de simples boutons. je ne connaissais pas cette fonction de postRunnable, en effet elle peut être très utile !

Merci pour ce partage d'informations :)

[-Shana-] [-Shana-]
MP
Niveau 10
12 août 2014 à 17:05:00

D'ailleurs, le mieux pour un thread rémanent, c'est quoi ?
Faire un thread basique avec le runnable, ou bien utiliser le Gdx.app.postRunnable ? :(

arts[jv] arts[jv]
MP
Niveau 8
12 août 2014 à 18:22:50

https://github.com/libgdx/libgdx/wiki/Threading

D'après cette page, utiliser Gdx.app.postRunnable serait plus approprié. Tout rendu opengl doit etre dans le thread qui contient notre rendu ( celui de base).

Je n'ai pas une réponse exacte et précise à ta question, je m'informe :)

hexabeast hexabeast
MP
Niveau 9
13 août 2014 à 12:30:22

Merci beaucoup pour vos réponses! :)

Pour ce qui est des coordonnées de la souris qui correspondent pas aux coordonnées de l'écran, on peut facilement faire une fonction de quelques lignes qui permet de remédier à ce problème sans que ce soit "sale" dans le code. Pour le reste je pense pas avoir besoin de tous les trucs compliqués d'interface, donc je pense rester dans mon système basique avec de simples textures :)

Sinon je vais regarder de plus près ce Gdx.app.postRunnable :hap:

hexabeast hexabeast
MP
Niveau 9
13 août 2014 à 14:13:48

Merci à vous, j'ai enfin réussi à rendre le chargement de mon jeu fluide :)

Gleuh Gleuh
MP
Niveau 10
13 août 2014 à 22:36:54

C'est bizarre hexa, tu arrive a faire un aussi bon jeu et aussi avancé et tu n'avais jamais pensé au multi thread ? :hap:

[-Shana-] [-Shana-]
MP
Niveau 10
13 août 2014 à 22:47:07

Hexa :d) Renseigne toi sur l'AssetManager . Il gère de lui même l'async du chargement et fait des optimisations :oui:

hexabeast hexabeast
MP
Niveau 9
13 août 2014 à 22:59:06

Shana: Là ce qui prend du temps c'est pas le chargement du fichier (à peine quelques Mo) mais la décompression et la conversion en une map, donc je sais pas si ça changera énormément d'utiliser l'AssetManager.

Gleuh: Bah à vrai dire j'ai quasiment jamais touché à LibGDX avant de commencer mon Terraria, et j'ai jamais eu besoin de quoi que ce soit d'avancé en Java auparavant :hap:
Je sais même pas utiliser correctement un switch car les if me suffisent :noel:

arts[jv] arts[jv]
MP
Niveau 8
13 août 2014 à 23:40:56

hexabeast : si un jour tu souhaite ajouté des musique dans ton jeu, tu va vite t’intéressé à l'asset manager ;).

Un petit sondage pour ma part:
Dans vos projet de jeu avec Libgdx, vous utiliser box2D pour la physique?

Car même s'il semble utile, je le trouve tout simplement chiant, pour récupérer les coordonnée d'une fixture je trouve ça chiant, pour bien respecté le PPM ( bon ça va encore), pour draw un sprite sur une fixture particulière d'un body...
C'est sur qu'une foie tout bien organisé on peut s'amusé, mais je trouve ça une perte de temps pour de petits projet :)

Ceci est uniquement mon avis personnel.

Deuxième petit sondage: Seriez vous intéressés par des tutoriels vidéo sur Libgdx ? merci de votre réponse :)

Arkwolf Arkwolf
MP
Niveau 17
15 août 2014 à 11:29:08

Je trouve que Box2D c'est pas adapté à 99% des projets donc non je l'utilise pas non plus :hap:
Même pour un jeu de plateformes j'utiliserais pas ça, c'est trop chiant à gérer pour faire des comportements spécifiques et au final vaut mieux gérer la physique manuellement sur la plupart des jeux.

Sinon sur les tutos vidéos je suis pas intéressé perso parce que je connais bien cette librairie depuis le temps que je l'utilise :hap:

Pour l'asset manager, ça doit être bien pour les jeux qui ont des tonnes d'assets lourds, j'utilise jamais ça perso. :noel:

Après je vois pas pourquoi il devrait forcément passer par un asset manager pour gérer la musique sachant qu'elle est automatiquement streamée si on utilise la classe Music et que donc le chargement se voit pas du coup :(

[-Shana-] [-Shana-]
MP
Niveau 10
15 août 2014 à 14:04:12

Pareil que Ark :hap:

Quant à l'assetmanager ca permet de charger et regrouper tout à un endroit de facon async. ce qui permet de faire autre chose pendant ce temps comme afficher un loading screen :hap: . De plus on peut creer nos propres loader pour charger des choses particulières ou pour effectuer du traitement post loaded :oui: ...
Et c'est plus propre que d'avoir plusieurs Drawable qui trainent partout :ok:

hexabeast hexabeast
MP
Niveau 9
15 août 2014 à 15:43:33

Perso le seul truc que j'ai fait avec mes textures c'est de toutes les regrouper dans la même classe, car étant donné que c'est du pixel art ça load tellement rapidement que y'a pas besoin de le faire à part.

Et sinon y'aurait une différence entre utiliser l'assetmanager pour load en async et load tous les assets dans un thread différent?

arts[jv] arts[jv]
MP
Niveau 8
15 août 2014 à 17:01:19

si tu essais d'utiliser une ressources qui n'est pas encore chargé dans l'autre thread, ça va poser problème.
Apres c'est sur il suffit de créer un bouléen qui passe vrais quand tous est chargé, et on utilise nos ressource que quand il est vrais.

Mais utiliser plusieurs thread bouffe plus de ressources non?

DébutPage précedente
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment