Problème avec getImage() [Résolu]

Akamaru88 5 Messages postés lundi 16 janvier 2006Date d'inscription 16 avril 2008 Dernière intervention - 16 avril 2008 à 02:16 - Dernière réponse : Akamaru88 5 Messages postés lundi 16 janvier 2006Date d'inscription 16 avril 2008 Dernière intervention
- 16 avril 2008 à 13:31
Bonjour,

J'ai beaucoup hésité avant de poster ce message mais je pense avoir cherché partout (y compris sur http://java.sun.com/javase/6/docs/api/ ) et je n'ai trouvé aucune solution, donc ... je me permets de vous demander de l'aide :)

J'essaye de programmer un petit jeu (original, non ? mais, je ne l'ai pas choisi) sous forme d'applet. Pour le moment ce n'est rien de bien compliqué juste un personnage (4 images) qui doit se déplacer quand on appuie sur une des flèches directionnelles, l'image affichée dépendant de l'orientation de celui-ci.





Voici quelques extraits du code :

Fichier projet.java




import javax.swing.JApplet;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;

public class projet extends JApplet implements KeyListener, ActionListener
{
    Image map;
    Personnage ch;

    public void init()
    {
        System.out.println("Initialisation ...");
        addKeyListener(this);
        map = getImage(getCodeBase(), "map1.png");
        ch = new Personnage(100, 100, 3);
    }
   
    public void start()
    {
        System.out.println("Demarrage ...");
    }

    public void actionPerformed(ActionEvent e) { repaint(); }
   
    public void keyReleased(KeyEvent e) {;}
    public void keyTyped(KeyEvent e) {;}
    public void keyPressed(KeyEvent e)
    {
        if(e.getKeyCode() == KeyEvent.VK_UP)
        {
            ch.movUp();
            System.out.print("UP");
        }
...
        repaint();
    }

    public void paint (Graphics g)
    {
        g.drawImage( map, 0, 0,getSize().width, getSize().height, this );
        ch.dessiner(g);
        requestFocus();
    }
}






Fichier Personnage.java






import java.awt.*;
import java.awt.Image;
import java.awt.Graphics;
import java.awt.Point;

public class Personnage
{
    Point position;
    Image curDir;
    Image picUp = getImage(getCodeBase(), "imgUp.png");
    Image picDown = getImage(getCodeBase(), "imgDown.png");
    Image picRight = getImage(getCodeBase(), "imgRight.png");
    Image picLeft = getImage(getCodeBase(), "imgLeft.png");
   
    Personnage (int px, int py, int dir)
    {        if (dir 1) curDir picUp;        if (dir 2) curDir picRight;        if (dir 3) curDir picDown;        if (dir 4) curDir picLeft;
        position = new Point (px, py);
    }

    public void movUp ()
    {
        curDir = picUp;
        position.y -= 5;
    }
...




    void dessiner(Graphics g)
    {
        g.drawImage(curDir, (int)position.x, (int)position.y, null);
    }
}






Et à la compilation j'ai le droit à :





./Personnage.java:13: cannot find symbol
symbol  : method getImage(java.lang.String)
location: class Personnage
        Image picUp =




getImage(getCodeBase(), "





imgUp.png");
                                                 ^



(pour chaque image)






C'est sans doute une erreur stupide, mais j'ai beau chercher je ne trouve pas











... alors si  vous pouviez m'aider cela m'arrangerait énormemment.

Merci d'avance.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Utilisateur anonyme - 16 avril 2008 à 07:11
3
Merci
Bonjour

DARKSIDIOUS a raison. Tu peux charger tes images en passant par ta classe "projet" car elle étend JApplet ou bien faire Toolkit.getDefaultToolkit().getImage(...);.

Désolé de te contredire mais la réponse se trouvait encore dans la documentation Java : (dans la classe JApplet)

Methods inherited from class java.applet.Applet
destroy, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase
, getDocumentBase, getImage
, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop


TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 avril 2008 à 06:45
0
Merci
Salut,

Normal, la fonction getImage n'existe pas dans ta classe Personne !

Cette fonction existe pour toute les classes de SWING par exemple, mais pas pour une classe "classique". Utilise donc le Toolkit de Java.
______________________________________
DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
Akamaru88 5 Messages postés lundi 16 janvier 2006Date d'inscription 16 avril 2008 Dernière intervention - 16 avril 2008 à 13:31
0
Merci
C'est bon ça fonctionne, merci beaucoup pour votre aide

à [auteur/GOUESSEJ/684669.aspx gouessej]: effectivement je n'ai pas cherché dans JApplet car je ne pensais pas pouvoir la trouver là.
Commenter la réponse de Akamaru88

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.