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

2D Java Discussion :

[Slick2D] Problème de chargement de plusieurs images


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 18
    Points
    18
    Par défaut [Slick2D] Problème de chargement de plusieurs images
    Bonjour,

    Je débute Slick2D et j'ai un soucis, j'ai déjà réussi à creer un mini-jeu grâce à Slick2D et désormais je souhaiterais en créer un second un plus important.
    C'est un jeu de tuile (un POKEMON-like) cepandant la carte et le sprite du personnage se chargent idépendament mais lorsque les deux sont chargé et affiché à l'écran, j'ai des erreurs de toute sorte (Nullpointer sur l'image, image too big, ...).

    Mon personnage :
    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
    public class Personnage {
    	private int sens;
    	private SpriteSheet tileset;
     
    	public Personnage(String image){
    		this.sens = 0;
    		try {
    			this.tileset = new SpriteSheet(getClass().getResource(image).getFile(),32,32);
    			this.tileset.startUse();
    		} catch (SlickException e){
    			System.out.println("Slick Erreur: "+e.getMessage());
    		} catch (Exception e){
    			e.printStackTrace();
    		}
    	}
     
    	public void render(){
    		this.tileset.getSprite(this.sens, 0).draw(7*32, 7*32);;
    	}
    }
    Ma carte :
    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
    public class Map {
    	private int w;
    	private int h;
    	private int id;
    	private String name;
    	private TilesSet tileset;
    	private Tuile[][] tuiles;
    	private Fenetre fenetre;
    	private int tiledefault;
    	private int tilesol;
     
    	public Map(int id,int w,int h,String name,Fenetre fenetre,int tiledefault,int tilesol,Tuile[][] tuiles,TilesSet tileset){
    		this.id=id;
    		this.w=w;
    		this.h=h;
    		this.name=name;
    		this.tileset=tileset;
    		this.tuiles=tuiles;
    		this.fenetre=fenetre;
    		this.tiledefault=tiledefault;
    		this.tilesol=tilesol;
    	}
     
    	@Override
    	public String toString() {
    		String s = "Map [id="+id+"] [w=" + w + ", h=" + h + ", name=" + name + ", tileset=" + tileset + ", tuiles=[";
    		for (Tuile[] is : tuiles) {
    			s += "[";
    			for (Tuile i : is) {
    				s += i+",";
     
    			}
    			s += "]";
    		}
    		s += "], fenetre=" + fenetre + ", tiledefault=" + tiledefault + ", tilesol="
    				+ tilesol + "]";
    		return s;
    	}
     
    	public int getId() {
    		return id;
    	}
     
    	public void render() {
    		for(int y = 0; y<h; y++){
    			for(int x = 0; x<w; x++){
    				int num = this.tuiles[y][x].getNum();
    				int w = this.tileset.getNbtilesX();
    				int h = this.tileset.getNbtilesY();
    				int i = num%w;
    				int j = num/w;
    				Image img = this.tileset.getImage().getSprite(i,j);
    				img.draw(x*32, y*32);
    			}
    		}
    	}
    }
    Et là les deux fonctions importante de ma classe principale :
    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
    public void init(GameContainer container) throws SlickException {
        	this.container = container;
       		container.setShowFPS(false);
    		this.timepast=0;
    		this.perso=new Personnage("/img/spritePerso.png");
    		this.bd = new BaseDeDonnee("src/legendaria/resources/Legendary.db");
    		this.bd.connect();
    		this.maps=this.bd.getMaps();
    		try {
    			this.map=this.getMap(1);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
            }
     
    	public void render(GameContainer arg0, Graphics arg1) throws SlickException {
    		this.map.render();
    		this.perso.render();
    	}
    Voilà, est-ce que quelqu'un sait où est le soucis ? Parce que moi, je ne comprend vraiment pas.

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

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

    Informations forums :
    Inscription : Février 2013
    Messages : 310
    Points : 194
    Points
    194
    Par défaut
    Bonjour,
    Il faut pas utiliser Graphics pour afficher les images?
    Désolé, j'ai pas bien compris ton code.
    Des jours c'est facile, des jours c'est pas facile, mais c'est jamais le même jour.

Discussions similaires

  1. [QImage] Problème de chargement de certaines images JPEG
    Par Difré91 dans le forum Débuter
    Réponses: 3
    Dernier message: 28/10/2013, 20h52
  2. problème de chargement d'une image
    Par narutoe dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 15/06/2012, 16h45
  3. chargement de plusieurs images
    Par cameleone31 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 23/04/2012, 00h54
  4. chargement de plusieurs images
    Par TDDev dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/09/2008, 11h06
  5. Réponses: 6
    Dernier message: 30/07/2007, 12h10

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