Я разрабатываю StateBasedGame в Slick2D (только для учебных целей), и я столкнулся с проблемой.Spirte рисуется под фоном
walkingRight.draw(0,250);
Эта анимация рисуется под фоновым спрайтом. Я понятия не имею, как это сделать. Я не вижу его вообще.
Полный код:
package gamelogic;
import org.lwjgl.input.Mouse;
import org.newdawn.slick.*;
import org.newdawn.slick.gui.MouseOverArea;
import org.newdawn.slick.state.*;
public class Level extends BasicGameState {
// INITIATE IMAGES
public Image background;
public Image title;
public Image playButton;
public Image exitButton;
public Animation walkingRight;
public Animation playerIdle;
public int[] duration = {200, 200, 200, 200, 200};
public int durationIdle[] = {200, 200};
// INITIATE VARIABLES FOR TITLE'S POSITION
public float menuPosX;
public float menuPosY;
public Player player;
// __CONSTRUCTOR
public Level(int state) {
}
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException {
background = new Image("res/levelbg.png");
Image[] walkRight = { new Image("res/player/snap0.png"), new Image("res/player/snap1.png"),
new Image("res/player/snap2.png"), new Image("res/player/snap3.png"), new Image("res/player/snap4.png")};
Image idle[] = { new Image("res/player/snap0.png"), new Image("res/player/snap1.png")};
this.walkingRight = new Animation(walkRight, this.duration, false);
this.playerIdle = new Animation(idle, this.durationIdle, false);
}
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
background.draw(0,0);
playerIdle.draw(0,0);
}
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
Input input = gc.getInput();
walkingRight.draw(0,250);
}
public int getID() {
return 1;
}
}
Не могли бы вы, ребята, пожалуйста, помогите мне с этим?
Это обусловлено порядком рендеринга. Обновление вызывается перед визуализацией, чтобы анимация была нарисована, когда рендер называется фоном, нарисованным поверх анимации, а простаивание игрока выполняется поверх фона. –
Я понял это самостоятельно после нескольких часов испытаний и ошибок, но я благодарен за комментарий, он немного разъясняет мои мысли. Большое спасибо :). –