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 :
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 = Personaggio.getX()+","+Personaggio.getY(); Thread.sleep(2000); Personaggio.setLocation(x_p,y_p); }catch(Exception imp){} }
E per questo mi rivolgo a voi, mi sapete dare qualche consiglio?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){} }
Grazie in anticipo![]()

Rispondi quotando
