Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    grafica java

    Ciao a tutti, sto scrivendo un programma per la localizzazione di robot in uno spazio, ora devo rappresentare questi robot con un minimo di grafica, purtroppo non mi sono mai occupato di grafica, praticamente ho 11 thread che mi calcolano le nuove posizioni dei robot e un timertask che ogni 10ms chiede ai thread le posizioni (double x e y) ora dovrei trasformare queste due x e y in un disegnino su un pannello che si muovo ad ogni cambiamento di posizione del robot. (esempio una tondo per ogni robot) solo che non sono un grande intenditore quindi chiedo il vostro aiuto, grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    in fondo alla pagina c'è l'esempio di un cerchio che si muove. A grandi linee dovrai disegnare i tuoi robot nella posizione originale e poi man mano che si muovono fare un semplice aggiornamento delle posizioni...

    http://www.disi.unige.it/person/Magi...F/grajava.html

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    L'uso di un titolo più consono sarebbe opportuno in futuro.
    Questo l'ho corretto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4

    PROBLEMI di grafica (ancora)

    Ho questa classe:

    class PaintPlayers extends Panel implements ActionListener {

    int raggio; /* raggio del cerchio */
    Timer timer; /* per regolare l'animazione */
    Master m;



    public PaintPlayers(int raggio_cerchio,Master M) {

    raggio = raggio_cerchio;
    m=M;
    timer = new Timer(1,this);
    timer.start() ;
    this.setBackground(new Color(0,166,0));

    }

    /* azione da compiere quando scatta il timer, sposta il cerchio
    e poi invoca il ridisegno */
    public void actionPerformed(ActionEvent e) {
    /**
    * ciclo su tutti i thread e chiedo le posizioni dei robot
    */

    repaint();
    }



    public void paint(Graphics g) {
    super.paint(g);
    /**
    * disegno le linee del campo
    */
    g.setColor(Color.WHITE );
    g.fillRect(25, 25, 3, 600);
    g.fillRect(25, 25, 300, 3);
    g.fillRect(325, 25, 3, 600);
    g.fillRect(25, 625, 300, 3);
    g.fillRect(25,312, 300, 3);
    g.fillRect(115, 25, 3, 80);
    g.fillRect(235, 25, 3,80);
    g.fillRect(115, 545, 3, 80);
    g.fillRect(235, 545, 3,80);
    g.fillRect(115, 545, 120, 3);
    g.fillRect(115, 105, 121, 3);


    Dimension d = getSize();


    /**
    * disegno i giocatori
    */
    for (int i = 0; i < m.play.size(); i++) {
    Player tmp = (Player) m.play.get(i);
    double x, y;
    x = tmp.dati.getX();
    y = tmp.dati.getY();


    /**
    * trasformao in interi per il disegno della grafica
    */
    int x1=(int)Math.rint(x) ;
    int y1=(int)Math.rint(y) ;


    g.setColor(Color.blue);
    g.fillArc(x1*10 ,y1*10,
    2 * raggio, 2 * raggio, 0, 360);

    }

    }




    public void repaint(Graphics g){



    }


    }



    che mi disegna i giocatori di calcio (pallini) a intervalli regolari.
    Sapendo che ho un contentPane diviso in due nella prima metà vanno delle label con informazioni e nella altra metà il disegno del campo con i pallini (cioè questìoggetto sopra), come faccio per non disegnare ogni volta le righe del campo? io aggiungo il campo in questo modo:
    jcontentPAne.add(Jpanel1,null) // aggingo il panel con le label
    jcontentPAne.add(new PaintPlayers(),null) // aggiungo il panel

    grazie mille
    ciauz

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.