Slickでゲームを作ろうとしていますが、始める前に、使用するヘリコプターのアニメーションをテストしたいと思います。開くだけで、すぐに次のエラーで閉じます。
スレッド「main」の例外java.lang.RuntimeException:javagameのjavagame.Menu.init(Menu.java:22)のorg.newdawn.slick.Animation。(Animation.java:111)では、フレームごとに1つの期間が必要です。 .Game.initStatesList(Game.java:19)at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:170)at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:433)atorg。 newdawn.slick.AppGameContainer.start(AppGameContainer.java:357)at javagame.Game.main(Game.java:29)
これが私のコードです:
package javagame;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;
import org.newdawn.slick.tests.AnimationTest;
public class Menu extends BasicGameState {
Animation sprite, fly;
public Menu(int state){
}
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException{
Image [] flyanimation = {new Image("res/copter1.png"), new Image("res/copter2.png"),
new Image("res/copter3.png"), new Image("res/copter4.png")};
int [] duration = {300, 300};
fly = new Animation(flyanimation, duration, false);
sprite = fly;
}
public void render(GameContainer gc, StateBasedGame sbg, Graphics g)throws SlickException{
sprite.draw(150, 150);
}
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{
Input input = gc.getInput();
if(input.isKeyDown(Input.KEY_SPACE)){
sprite = fly;
sprite.update(delta);
}
}
public int getID(){
return 0;
}
}
助けてくれてありがとう!私がこれについてどうやっているのか完全に間違っているなら、ごめんなさい。私の命を救うためのまともなチュートリアルを見つけることができませんでした!