class Task_Move extends SwingWorker<Void, Void> {
int r;
public Task_Move(int r){
this.r=r;
}
@Override
public Void doInBackground() {
run=false;
for(int i=1;i<9;++i){
try {Thread.sleep(45);}
catch (Exception e) {}
switch (r) {
case 0: panel_area.setBounds( -(areax-4)*64+(-8*i), -(areay-4)*64, xhigh, yhigh);
switch (i) {
case 2:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 64, 64, 64)));break;
case 4:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 64, 64, 64)));break;
case 6:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 64, 64, 64)));break;
case 8:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 64, 64, 64)));break;
default:break;
}
break;
case 1: panel_area.setBounds( -(areax-4)*64, -(areay-4)*64+(-8*i), xhigh, yhigh);
switch (i) {
case 2:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 128, 64, 64)));break;
case 4:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 128, 64, 64)));break;
case 6:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 128, 64, 64)));break;
case 8:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 128, 64, 64)));break;
default:break;
}
break;
case 2: panel_area.setBounds( -(areax-4)*64+(8*i), -(areay-4)*64, xhigh, yhigh);
switch (i) {
case 2:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 192, 64, 64)));break;
case 4:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 192, 64, 64)));break;
case 6:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 192, 64, 64)));break;
case 8:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 192, 64, 64)));break;
default:break;
}
break;
case 3: panel_area.setBounds( -(areax-4)*64, -(areay-4)*64+(8*i), xhigh, yhigh);
switch (i) {
case 2:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 0, 64, 64)));break;
case 4:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 0, 64, 64)));break;
case 6:player.setIcon(new ImageIcon(playerimage.getSubimage(64, 0, 64, 64)));break;
case 8:player.setIcon(new ImageIcon(playerimage.getSubimage(0, 0 , 64, 64)));break;
default:break;
}
break;
default:break;
}
repaint();
}
return null;
}
@Override
public void done() {
switch (r) {
case 0:areax++;break;
case 1:areay++;break;
case 2:areax--;break;
case 3:areay--;break;
default:break;
}
hud.l_xy.setText(spieler.xpos+","+spieler.ypos);
run=true;
}
}