IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Plantage quand je lance le jeu sur une autre machine


Sujet :

avec Java

  1. #1
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut Plantage quand je lance le jeu sur une autre machine
    Bonjour a tous,
    mon code s'exécute normalement depuis Eclipse, une fois compiler c'est pas la joie, et quand je l'exécute sur un autre ordinateur il freese a la première frame.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    package LGP;
     
    import org.newdawn.slick.AppGameContainer;
    import org.newdawn.slick.GameContainer;
    import org.newdawn.slick.SlickException;
    import org.newdawn.slick.state.StateBasedGame;
     
    public class Main extends StateBasedGame{
     
    	public static final String gamename = "LGP";
    	public static final int menu = 0;
    	public static final int help = 1; 
    	public static final int game = 2;
     
    	public Main(String gamename){
    		super(gamename);
    		this.addState(new Menu(menu));
    		//this.addState(new Help(help));
    		//this.addState(new Game(game));
    	}
     
    	public void initStatesList(GameContainer gc) throws SlickException{
    		this.getState(menu).init(gc, this);
    		//this.getState(help).init(gc, this);
    		//this.getState(game).init(gc, this);
    		this.enterState(0);
    	}
     
    	public static void main(String[] args){
    		AppGameContainer appgc;
    		try {
    			appgc = new AppGameContainer(new Main(gamename));
    			appgc.setDisplayMode(appgc.getScreenWidth(), appgc.getScreenHeight(), false);
    			appgc.start();
    			} catch (SlickException e) {
    				e.printStackTrace();
    			}
    		}  
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package LGP;
     
    import org.lwjgl.input.Mouse;
    import org.newdawn.slick.GameContainer;
    import org.newdawn.slick.Graphics;
    import org.newdawn.slick.Image;
    import org.newdawn.slick.SlickException;
    import org.newdawn.slick.state.BasicGameState;
    import org.newdawn.slick.state.StateBasedGame;
     
    public class Menu extends BasicGameState{
     
    	Image startGris, startRouge, helpGris, helpRouge, exitGris, exitRouge, background, start, exit, help;
     
    	public Menu(int state){
     
    	}
     
    	public void init(GameContainer gc, StateBasedGame sbg) throws SlickException {
    		background = new Image("images/blood.png");
    		startGris = new Image("images/startGris.png");
    		startRouge = new Image("images/startRouge.png");
    		helpGris = new Image("images/helpGris.png");
    		helpRouge = new Image("images/helpRouge.png");
    		exitGris = new Image("images/exitGris.png");
    		exitRouge = new Image("images/exitRouge.png");
    		start = startGris;
    		help = helpGris;
    		exit = exitGris;
     
    	}
     
    	public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
    		background.draw(gc.getWidth()/2 - background.getWidth()/2, 0);
    		start.draw(100, 100);
    		help.draw(100, 200);
    		exit.draw(100, 300);
    	}
     
    	public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
    		int Xpos = Mouse.getX();
    		int Ypos = Mouse.getY();
     
     
    		if(Xpos > 140 && Xpos < 240 && Ypos > 940 && Ypos < 970){
    			start = startRouge;
    			if (Mouse.isButtonDown(0)){sbg.enterState(2);}
    		}else{start = startGris;}
     
     
    		if(Xpos > 140 && Xpos < 240 && Ypos > 840 && Ypos < 870){
    			help = helpRouge;
    			if (Mouse.isButtonDown(0)){sbg.enterState(1);}
    		}else{help = helpGris;}
     
     
    		if(Xpos > 140 && Xpos < 240 && Ypos > 740 && Ypos < 770){
    			exit = exitRouge;
    			if (Mouse.isButtonDown(0)){System.exit(0);}
    		}else{exit = exitGris;}
     
     
    	}
     
    	public int getID() {
    		return 0;
    	}
     
    }
    Es-ce-que quelqu'un comprend ce qui ce passe.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Tu n'a rien qui s'affiche comme erreur dans la console? Tu lance comment le jar? avec java -jar ou avec javaw -jar ?

  3. #3
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Alors j'utilise java -jar. javaw -jar je ne sais pas ce que c'est.
    Et non je n'ai aucun message d'erreur, le programme ce lance normalement sauf que il freeze et qu'il m'affiche 300fps alors que chez moi il tourne a 60.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Dans ce cas, je peux juste te suggérer de mettre des system.out.println un peu partout?

  5. #5
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Je vois pas du tout a quoi ca peut bien me servir.
    Même si je trouve ou ca plante, et visiblement c'est a la première frame, je ne serais pas quoi faire de cette info.
    Qu'es ce qu'il peut y avoir dans le code qui fait que ca marche chez moi et pas chez les autres?

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par Pecose Voir le message
    Je vois pas du tout a quoi ca peut bien me servir.
    Même si je trouve ou ca plante, et visiblement c'est a la première frame, je ne serais pas quoi faire de cette info.
    Toi non, mais nous oui. Nous ne possédons pas encore de boule de cristal pour faire du debug à distance sans aucune info
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  7. #7
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Ok j'ai tester avec java - jar mais les System.out.println n'apparaissent pas dans le terminal.
    (Il apparaissent uniquement dans la console d'Eclipse mais cette info sert a rien puisque le code marche sur Eclipse)
    Du coup je sais pas comment vous donner l'info.


    C'est peut être pas mal si je precise que télécharger eclipse sur un autre ordinateur, ca risque d'être compliqué...

  8. #8
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Par défaut
    Je connais pas la classe Image que tu utilises mais je pense que ça vient de là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void init(GameContainer gc, StateBasedGame sbg) throws SlickException {
    		background = new Image("images/blood.png");
    		startGris = new Image("images/startGris.png");
    		startRouge = new Image("images/startRouge.png");
    		helpGris = new Image("images/helpGris.png");
    		helpRouge = new Image("images/helpRouge.png");
    		exitGris = new Image("images/exitGris.png");
    		exitRouge = new Image("images/exitRouge.png");
    		start = startGris;
    		help = helpGris;
    		exit = exitGris;
     
    	}
    Sous Eclipse il va chercher les images sur le disque en suivant l'url donnée en paramètre mais avec le jar il doit aller chercher dedans car le jar peut se trouver n'importe où sur l'ordinateur.

    Je vais te suggérer un truc un peu déguelasse mais tu peux essayer de voir si ça marche ou pas, ça te dira au moins si le problème vient bien de là :

    - tu récupères une BufferedImage avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BufferedImage im = ImageIO.read(getClass().getResource(path));
    lis bien la doc pour écrire le path correctement

    - tu crées une org.newdawn.slick.Image vide de la bonne taille avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Image(int width, int height) throws SlickException
    et tu la remplis avec ta BufferedImage

    C'est assez moche mais bon je suis curieux de savoir si ça marchera mieux.

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par Pecose Voir le message
    Ok j'ai tester avec java - jar mais les System.out.println n'apparaissent pas dans le terminal.
    (Il apparaissent uniquement dans la console d'Eclipse mais cette info sert a rien puisque le code marche sur Eclipse)

    Tu lance bien ton application avec la commande

    dans une console?

    Tu a mis un system.out.println tout au début de ton main pour être sur que tu ne plante pas avant le premier system.out.println ?

    aussi, essaie la version avec javaw.exe, je ne sais plus laquelle utilise la console

  10. #10
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    C'est bon j'ai trouver d'ou viens le problème.
    Je demande d'afficher la fenêtre aux dimensions de l'écran mais les zones de survole pour faire changer les image de couleur, sont déclarer en px.
    En faite les zones en question ne sont juste pas au bon endroits.
    Il faut que je passe tout en relatif et je vous tien au courant si c'est bon.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. exécution d'un programme compilé sur une autre machine
    Par haorua1983 dans le forum Administration système
    Réponses: 4
    Dernier message: 09/02/2007, 18h25
  2. Jar excutable problématique sur une autre machine
    Par lars528 dans le forum Général Java
    Réponses: 8
    Dernier message: 23/08/2006, 11h49
  3. Réponses: 3
    Dernier message: 07/07/2006, 16h49
  4. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 15h00
  5. Lancer un programme, mais sur une autre machine
    Par GOUGOU1 dans le forum Réseau
    Réponses: 12
    Dernier message: 08/12/2002, 21h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo