Java-Téléchargeur, Lanceur et mise à jour [fermé]


Je fais un jeu Java très simple en utilisant du Java pur! La partie du jeu arrive très bien. J'ai des gens qui jouent le jeu à tester pour moi. Quand il y a une mise à jour, je leur envoie un e-mail pour la télécharger. L'ensemble du jeu est juste un fichier jar que vous exécutez directement sur votre bureau. Cela signifie que le téléchargement de l'ensemble du jeu dans un fichier, qui prend un peu de temps et qui n'est pas la première impression que je voudrais donner. Et cela m'amène à ma première question qui est comment faire un téléchargeur! Je veux que le joueur télécharge un pot de petite taille, puis l'exécute pour télécharger un pot plus grand (qui contient le jeu) dans appdata. De là, je veux que le joueur puisse exécuter le pot qu'ils ont utilisé pour télécharger le fichier et il fera apparaître un lanceur. À partir du lanceur, ils pourront appuyer sur le bouton Démarrer le jeu et il exécutera le jeu ou l'autre pot dans les données appdata des joueurs. Je veux aussi que le joueur puisse appuyer sur un bouton qui va vérifier une mise à jour en ligne et s'il y en a un télécharger le pot et le mettre dans les joueurs appdata.

Un résumé rapide:

  • Comment faire un pot qui téléchargera un autre pot
  • Comment faire un bouton qui exécutera un autre pot
  • Comment créer un bouton qui vérifiera les mises à jour et les installera

J'utilise net beans pour faire mes logiciels!

Merci Pour L'Aide!

Author: Dev, 2014-02-17

2 answers

Le lanceur

Dans votre application (celle que vous distribuez), vous pouvez simplement inclure une petite routine de test si un certain jar fichier se trouve dans le dossier de votre programme. Si c'est là, allez à la partie où vous pouvez exécuter l'autre fichier jar, sinon le télécharger.

Télécharger un fichier

Jetez un oeil à cette autre question SO sur la façon de télécharger un fichier via Java. J'ai testé la première réponse et il télécharge un currencies.csv fichier. Ce n'est que du charabia mais ça marche. Le le fichier sera placé dans votre dossier projets.

Cependant, le fichier téléchargé sera écrit ligne par ligne dans le nouveau fichier (sous forme de chaînes, car dans cet exemple, il s'agit d'un fichier texte que vous téléchargez). Ici est une (très longue) exemple sur la façon dont vous pouvez lire et écrire un fichier byte par byte, ce qui peut être plus approprié dans votre cas.

Exécution d'un autre pot

Maintenant que vous avez téléchargé le nouveau fichier jar, vous devez l'exécuter. Mais cela peut être plus compliqué, depuis le démarrage d'un programme (ou d'exécuter toute autre commande) peut être différent sur chaque système. Cependant, voici une autre question SO à ce sujet. Je trouve la proposition avec le Runtime suffisante à mon goût mais peut-être que vous pouvez trouver une meilleure façon de faire fonctionner le pot.

Une Autre proposition

Mais peut-être qu'il existe un autre moyen et que vous n'avez pas besoin de télécharger un fichier jar exécutable complet. Dans d'autres programmes tels problèmes sont souvent résolus par les bibliothèques.

Donc vous pourriez écrire votre jeu en le divisant en plusieurs parties (par exemple, chaque niveau une autre bibliothèque jar). Pour lancer votre jeu vous devez posséder tous les fichiers jar dans votre dossier lib. Votre lanceur exécutera alors d'abord la routine pour détecter si tous les fichiers sont présents et télécharger les pots manquants si nécessaire.

La version à bibliothèques multiples peut également vous aider à mettre à jour votre programme. De cette façon, vos joueurs n'auront pas à télécharger le jeu entier chaque fois qu'une nouvelle mise à jour est disponible, mais simplement le fichier jar unique cela a changé (vous devez également inclure un test pour cela dans votre lanceur)

Désolé, si je ne peux pas fournir de code à ce sujet, mais c'est tout un projet que vous avez :) Mais j'espère que les liens vous donneront une idée par où commencer.

 1
Author: GameDroids, 2017-05-23 12:12:52
 0
Author: Ale Zalazar, 2014-02-17 00:37:04