Я пытаюсь разработать игру, и все еще рано, но я столкнулся с проблемой.slick 2d, Java, Анимационные геттеры и сеттеры
Я создал класс символов и определил анимацию в этом классе, но хочу использовать его в другом классе, я создал геттер для анимации, но в классе, где я хочу его использовать, это просто возвращающий null. Методы получения и установки прекрасно работают с целыми числами, но я не могу понять это, любая помощь будет оценена :)
класс игрока
import org.newdawn.slick.Animation;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.SpriteSheet;
import org.newdawn.slick.state.StateBasedGame;
public class Player {
int x,y,dx,dy;
Animation currentAnim, DownWalk, LeftWalk;
SpriteSheet down;
public Player(int x, int y) throws SlickException{
this.x = x;
this.y = y;
currentAnim = DownWalk;
}
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException {
down = new SpriteSheet("res/Character/DownWalkSpriteSheet",160,160);
DownWalk = new Animation(down, 200);
currentAnim = DownWalk;
}
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
Input input = gc.getInput();
}
public void render(GameContainer gc, StateBasedGame arg1, Graphics sbg)
throws SlickException {
currentAnim.draw(100,100);
}
public Animation getAnim(){
return currentAnim;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
}
класс Уровень (класс я хочу использовать его в):
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.GameState;
import org.newdawn.slick.state.StateBasedGame;
public class Room1 extends BasicGameState {
Image Room1;
Player player;
public Room1(int state){
}
@Override
public void init(GameContainer gc, StateBasedGame sbg)
throws SlickException {
Room1 = new Image("res/Room1.png");
player = new Player(300,300);
}
@Override
public void render(GameContainer gc, StateBasedGame arg1, Graphics sbg)
throws SlickException {
Room1.draw(0,0);
}
System.out.print как я проверил, что он возвращается нуль
@Override
public void update(GameContainer gc, StateBasedGame sbg, int delta)
throws SlickException {
System.out.println(player.getAnim());
}
@Override
public int getID() {
// TODO Auto-generated method stub
return 1;
}
}
это сработало! Спасибо! – user2409854
Если это сработало, вы можете пометить ответ как решение и закрыть вопрос. – Prine