Salve a tutti,
avrei un problema con java, in pratica ho fatto un programma in cui quando clicchi sul JPanel fa muovere la Label nel punto che hai cliccato :
codice:
private void MovPers(java.awt.event.MouseEvent evt) {
try{
int y_p = evt.getY();
int x_p = evt.getX();
String coordinate_p = x_p+"."+y_p;
String coordinate_pers = Personaggio.getX()+","+Personaggio.getY();
Thread.sleep(2000);
Personaggio.setLocation(x_p,y_p);
}catch(Exception imp){}
}
Vorrei che si muovesse lentamente verso il punto e ho creato anche un codice che però non funziona:
codice:
private void MovPers(java.awt.event.MouseEvent evt) {
try{
int y_p = evt.getY();
int x_p = evt.getX();
String coordinate_p = x_p+"."+y_p;
String coordinate_pers = "0,0";
while(!(coordinate_p.equals(coordinate_pers))){
int Y_p = Personaggio.getY();
int X_p = Personaggio.getX();
if(Y_p < y_p){
Thread.sleep(150);
Personaggio.setLocation(X_p,(Y_p+1));
}
if(Y_p > y_p){
Thread.sleep(150);
Personaggio.setLocation(X_p,(Y_p-1));
}
if(X_p < x_p){
Thread.sleep(150);
Personaggio.setLocation((X_p)+1,Y_p);
}
if(X_p > x_p){
Thread.sleep(150);
Personaggio.setLocation((X_p-1),Y_p);
}
coordinate_pers = X_p + "," + Y_p;
}
}catch(Exception imp){}
}
E per questo mi rivolgo a voi, mi sapete dare qualche consiglio?
Grazie in anticipo