2014-08-30 37 views
0

我爲我的StateBasedGame使用Slick2D和LWJGL,並且想知道是否有一種方法可以在應用程序加載時使用轉換進入我的splashscreen?淡入遊戲加載的初始屏幕

我試着使用:

this.enterState(SPLASH, new FadeInTransition(Color.black), new FadeInTransition(Color.black)); 

然而,它消失在好聽但隨後第二過渡:(

任何人都知道我能得到周圍再次閃現

會我必須創建自己的轉換嗎?

回答

0

閱讀文檔,我發現我可以使用空轉換到第二個轉換參數,以防止額外的轉換播放。

this.enterState(SPLASH, new FadeInTransition(Color.black), new EmptyTransition()); 
0

首先創建一個僅顯示爲空白屏幕的基本遊戲狀態:

public class Black extends BasicGameState { 
    public void init(GameContainer gc, StateBasedGame sbg) { 
     gc.setShowFPS(false); 
    } 
    public void render(GameContainer gc, Graphics g, StateBasedGame sbg) { 
     //Nothing here 
    } 
    public void update(GameContainer gc, StateBasedGame sbg, int delta) { 
     //Nothing here 
    } 
    public int getID() { 
     return 0; 
    } 
} 

然後在你的主類的initStateList()方法中添加以下內容:

this.addState(new Black()); 
this.enterState(0); 

然後到了init()在黑添加以下內容:

sbg.enterState(new Splash(), new FadeInTransition(), new FadeInTransition()); 

這將刪除當遊戲初始化時發生的blip。 blip實際上是因爲你的主遊戲狀態默認進入了飛濺狀態,然後你重新啓動淡入淡出效果。我希望這是所有相關的和有幫助的:)