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

AWT/Swing Java Discussion :

Java défilement problème


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Java défilement problème
    Bonjour,
    J'ai un problème mais je ne sais pas comment le résoudre . Je suis en train de créer un jeux en 2D avec une vue de dessus. Je peux déplacer pour l'instant un carré avec des touches mais je n'arrive pas à faire un effet de défilement ( lorsque le carré arrive au bord alors la carte se décale ou bien que la "caméra" reste centrée sur le personnage).
    Voici pour l'instant mon code en espérant que vous pourrez m'aider.

    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
    	public Dodge(){
    		setSize(new Dimension(800,800));
    		setPreferredSize(new Dimension(800,800));
    		setFocusable(true);
    		setBackground(Color.BLACK);
    		addKeyListener(this);
    		stage = new Stage();
    		personnage = new Hero(200,50);
     
    	}
    	  public static void main(String[] args) {
    		  Dodge game = new Dodge();
    		  JFrame frame = new JFrame();
    		  frame.setTitle("Premier jeux !");
    		  frame.add(game);
    		  frame.pack();
    		  frame.setResizable(false);
    		  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		  frame.setLocationRelativeTo(null);
    		  frame.setVisible(true);
     
     
    	  }

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    C'est difficile a dire avec le peu de code que tu donnes on ne peut pas savoir quel genre de jeux tu vas avoir en face toi...

    Peut être peut tu déjà t'inspirer des technique des tutoriaux ici http://jeux.developpez.com/tutoriels...uction-niveau/ .

    Mais sinon il faut selon ce que veux, un scrolling type zelda 1 ou le décor se "déplace" quand tu arrives a ses bords ou justement si tu veux que le bonhomme reste au centre de l'écran et que le décor défile au fur et a mesure (bien que les 2 choses peuvent se rejoindre).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par wax78 Voir le message
    C'est difficile a dire avec le peu de code que tu donnes on ne peut pas savoir quel genre de jeux tu vas avoir en face toi...

    Peut être peut tu déjà t'inspirer des technique des tutoriaux ici http://jeux.developpez.com/tutoriels...uction-niveau/ .

    Mais sinon il faut selon ce que veux, un scrolling type zelda 1 ou le décor se "déplace" quand tu arrives a ses bords ou justement si tu veux que le bonhomme reste au centre de l'écran et que le décor défile au fur et a mesure (bien que les 2 choses peuvent se rejoindre).

    J'ai essayé de mettre une barre pour faire de l'auto scrowlling mais je n'y arrive pas : je vous donne mon code
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.awt.Scrollbar;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.util.ArrayList;
     
    import javax.swing.*;
     
     
    public class Dodge extends JPanel implements KeyListener{
    	private int x =5;   // position de création du personnage
    	private  int y =5;
    	private Personnage personnage;
    	private Stage stage;
    	private  ArrayList<Rectangle> tab;
     
    	public Dodge(){
    		setSize(new Dimension(800,800));
    		setPreferredSize(new Dimension(800,800));
    		setFocusable(true);
    		setBackground(Color.BLACK);
    		addKeyListener(this);
    		stage = new Stage();
    		 tab = stage.getTabStage();
    		System.out.println(stage.toString());
    		personnage = new Hero(this,"Personnage",200,50,"poings");
     
    	}
    	@Override
    	public void update(Graphics g){
    		paint(g);
    	}
    	public void paint(Graphics g){
    		g.setColor(Color.BLACK);
    		g.fillRect(0, 0, getWidth(), getHeight());
     
    		g.setColor(Color.WHITE);
    		g.fillOval(x, y, 20, 20);
     
     
    		stage.draw(g);
     
    		personnage.draw(g);
     
    	//Image	img = getToolkit().getImage("gfsprite.png");
    	//	g.drawImage(img, 20, 20, this);
    		g.dispose();
    		repaint();
    	}
    	public Stage getStage(){
    		return stage;
    	}
    	public Personnage getPersonnage(){
    		return personnage;
    	}
    	  public static void main(String[] args) {
    		  Dodge game = new Dodge();
     
    		  JFrame frame = new JFrame();
     
    		  frame.setTitle("Premier jeux !");
    		  frame.add(game);
    		  frame.pack();
    		  frame.setResizable(false);
     
    		  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		  frame.setLocationRelativeTo(null);
    		  frame.setVisible(true);
     
     
     
    	  }
    	@Override
    	public void keyPressed(KeyEvent arg0) {
    		int c = arg0.getKeyCode();
    		if(c == KeyEvent.VK_Z){
    			personnage.setYD(-1); //direction du personnage
     
    		}
    		if(c == KeyEvent.VK_S){
    			personnage.setYD(1);
     
    		}
    		if(c == KeyEvent.VK_Q){
    			personnage.setXD(-1);
    		}
    		if(c == KeyEvent.VK_D){
    			personnage.setXD(1);
    		}
     
    	}
    	@Override
    	public void keyReleased(KeyEvent arg0) {
    		personnage.setXD(0); //direction
    		personnage.setYD(0);
     
     
     
     
    	}
    	@Override
    	public void keyTyped(KeyEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
    }

Discussions similaires

  1. JAVA/ECLIPSE Problème chronometre
    Par maxime17s dans le forum Langage
    Réponses: 3
    Dernier message: 06/03/2008, 01h14
  2. [Java débutant] Problème d'import d'une classe
    Par Rolf-IV dans le forum Langage
    Réponses: 5
    Dernier message: 11/03/2007, 19h39
  3. [Java][Xpath] Problème pour rédiger une expression
    Par althea_vestrit dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/01/2006, 20h53
  4. [Java 2D] problème de composition d'images
    Par wwave dans le forum 2D
    Réponses: 4
    Dernier message: 11/07/2005, 12h28
  5. [Debutant Java JOGL] problème glVertexPointer()
    Par Stef784ever dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/04/2004, 17h43

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