Witam
Pisze prosta gre 2D RPG.
Mam pewien problem z animacja.
Chce aby po wcisnieciu danego klawisza (strzalki) wyglad gracza (jego grafika) zostala zmieniana odpowiednio do jego kierunku ruchu.
Posiadam klase EntityPlayer, ktora reprezentuje gracza oraz Game czyli ogolna logika gry.
W klasie game mam kod dla przyciksu CTRL (10f sa tymczasowe, jesli naprawie problem z grafika gracz nie bedzie zmienial polozenia na mapie):
if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
Image spriteR = Toolkit.getDefaultToolkit().getImage("GFX/3.png");
player = new EntityPlayer(spriteR, map, 10f, 10f);
repaint();
System.out.print("TEST");
}
oraz:
public Image sprite;
public Image spriteR;
public EntityPlayer player;
Wczesniej gracz jest tworzony (dalej klasa Game):
map = new Map();
player = new EntityPlayer(sprite, map, 18f, 20f);
repaint();
Następnie gracz jest wyswietlany/renderowany: (nadal Game)
player.paint(g);
Klasa EntityPlayer:
public Image pretorian = Toolkit.getDefaultToolkit().getImage("GFX/6.png");
public Image sprite;
private EntityPlayer player;
i pod koniec w klasie EntityPlayer metoda paint:
public void paint(Graphics2D g) {
// at 15,15.
int xp = (int) (Map.TILE_SIZE * x);
int yp = (int) (Map.TILE_SIZE * y);
g.drawImage(pretorian, (int) (xp - 32), (int) (yp - 32), null);
}
Kompilacja nie wykazuje bledow. W grze, po wcisnieciu CTRL gracz przenosi sie do 10f, 10f (kod dziala) lecz jego grafika nadal jest ta sama.