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

 Java Discussion :

Problème utilisation quadTo()


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Points : 73
    Points
    73
    Par défaut Problème utilisation quadTo()
    Bonjour,

    dans le cadre d’un jeu java, je recherche à créer un terrain. Celui ci résultera d’une courbe, que je tente d’afficher depuis un certain temps.

    J’ai essayé d’utiliser des tableaux, puis des courbes générées par Math.cos() et Math.sin() puis, n’y arrivant pas vraiment (voire pas du tout) j’ai abandonné et suis passé à quadTo.
    J’ai vu qu’il y avait besoin de «paths» et que c’était affichable grâce à un Graphics2D.

    Il me semble avoir deux problèmes. Le premier plutôt inexpliquable car aucune erreur affichée à côté du code mais dans la console de Eclipse (à la compilation). Le deuxième est le fait que je contrôle l’affichage de tout ce qui doit être affiché via un paint dans le main et donc utilise un Graphics (et non Graphics2D) ce qui me pose un problème de compatibilité.

    Je joins mon code.

    Partie utile du main :

    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
    public Affichage(){
    		setSize(new Dimension(WIDTH, HEIGHT));
    		setPreferredSize(new Dimension(WIDTH, HEIGHT));
    		this.setFocusable(true);
     
    		terrain = new Terrain();
     
     
    	}
     
    	public void paint(Graphics g){
     
     
    		g.setColor(Color.WHITE);
    		g.fillRect(0, 0, getWidth(), getHeight());
     
    		terrain.draw(g2);//pas possible comme ça
     
    		g.dispose();
    		repaint();
    	}
    La classe terrain.

    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
    import java.awt.Graphics2D;
    import java.awt.geom.GeneralPath;
     
     
     
    public class Terrain{
     
    	double[] xTab, yTab;
     
    	public Terrain(){
     
     
    	}
     
    	public void draw(Graphics2D g){
     
     
    		GeneralPath path = new GeneralPath();
    		path.quadTo(30, 50, 50, 60);
    		path.quadTo(30, 50, 10, 60);
    		path.quadTo(30, 50, 30, 30);
    		path.closePath();
    		g.draw(path);
    }}


    Merci de me donner un coup de main

    A+

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ta variable g2 n'existe pas.

    Pour ce qui est de ton message d'erreur, ce serait bien de nous le donner :/

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Points : 73
    Points
    73
    Par défaut
    Oups…! Voilà, ça devrait le faire.

    Nom : impr_ecr.png
Affichages : 112
Taille : 43,0 Ko


    Sinon pour le g2 j’ai réglé le problème en disant que draw prendrait un graphics et en mettant

    graphics2D g2 = (graphics2D) g.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu pourrais faire un copier coller de l'erreur plutot qu'un capture d'écran? Tu verra, ça va beaucoup plus vite, ça prends moins de place, et ça permet d'avoir tout le texte, y compris la partie importante qui manque.

    Mais je suppose que le problème c'est que ton path n'a pas de point de départ pour le quadTo. Fait un moveTo avant.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Points : 73
    Points
    73
    Par défaut
    Oui, je n’y avais pas pensé…

    En tout cas, merci. Tu as vu juste : mon quadTo n’a pas de point départ. Ça fonctionne mieux maintenant.

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

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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