Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [JAVA]loop movimento

  1. #1

    [JAVA]loop movimento

    Ciao a tutti ,qualcuno sa come far ripetere all infinito il movimento dall alto al basso(e non viceversa) delle immagini??? P.S se avete bisogno posto anche le altre classi.

    codice:
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class Characters extends Thread {
       private int x;
       private int y;
       private JPanel frame;
       private Image im;
       public Characters(int a,int b) {
          x = a;
          y = b;
       }
       
       public Characters(int i, int j, JPanel frame,String path) {
          this(i,j);
          this.frame = frame;
          im = Toolkit.getDefaultToolkit().getImage (path);
       }
    
       @Override
       public void run() {
          for (int i = 0; i < 24; i = i + 1) {
             
              y += i;
            
             try {
                Thread.sleep(200,i);
                
             } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
             }
          }
       
       }
    
       public void draw(Graphics graphics){
          graphics.setColor(Color.BLACK);
          
          //qui metti l imagel
          //graphics.drawImage(.....)
          graphics.drawImage(im, x, y,frame);
       }
       
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA]loop movimento

    Originariamente inviato da esploratore8
    Ciao a tutti ,qualcuno sa come far ripetere all infinito il movimento dall alto al basso(e non viceversa) delle immagini??? P.S se avete bisogno posto anche le altre classi.
    La questione è molto semplice: invece di fare un for come sopra dove il ciclo ad un certo punto termina, fai un ciclo che non termina mai (es. while(true) { ..... } ) e nel ciclo incrementi la tua y. Appena vedi che raggiunge un certo valore, la riporti al valore iniziale.
    Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.