Pessoal estou aqui no eclipse fazendo o curso da danki code de jogos e quero fazer uma otimização no código, mas pra isso eu fazer um método que uma variável do tipo inteiro. Irei mandar só a parte necessária:
public class Player extends Entity {
private int frames = 0, maxframes = 5, index = 0, maxindex = 3;// manipulação de sprite e fps
private int damegedframes = 0, damegedmaxframes = 5, damegedindex = 0, damegedmaxindex = 3;
private int lifeframes = 0, lifemaxframes = 5, lifeindex = 0, lifemaxindex = 3;
private boolean moved = false;// se o player estáo ou não se movendo
public void tick() {// todo o movimento
if (moved) {// caso o player estiver se mexendo
amimação(frames, maxframes, index, maxindex);
amimação(damegedframes, damegedmaxframes, damegedindex, damegedmaxindex);
amimação(lifeframes, lifemaxframes, lifeindex, lifemaxindex);
/*frames++;// aumenta o contador
if (frames == maxframes) {// se o contador atingir o limite certo
frames = 0;// ele zera
index++;// o sprite muda
if (index > maxindex) {// se o sprite atingir o quantidade maxima
index = 0;// ele zera
}
}*/
} else {// se não houver movimento
frames = 0;// zera os dois
index = 0;
}
}
public void amimação(int frames, int maxframes, int index, int maxindex) {
frames++;// aumenta o contador
if (frames == maxframes) {// se o contador atingir o limite certo
frames = 0;// ele zera
index++;// o sprite muda
if (index > maxindex) {// se o sprite atingir o quantidade maxima
index = 0;// ele zera
}
}
}
aqui eu só quero que o método mude o valor da variável que é passada pra ele pra que eu n precise repetir isso
if (frames == maxframes) {// se o contador atingir o limite certo
frames = 0;// ele zera
index++;// o sprite muda
if (index > maxindex) {// se o sprite atingir o quantidade maxima
index = 0;// ele zera
}
}
várias vezer só mudando o nome da variável.
sei que no c/c++ posso mudar a variável por ponteiro com “&” e “*”, mas no java acho que não posso fazer isso.