2013-01-12 10 views
2

我使用基於狀態的遊戲在Java中製作了一個GUI,因爲它擴展了StateBasedGame而不是JApplet它不是一個真正的小程序,我想把它放在網站上,並且不確定如何爲此,有人告訴我下面的代碼可以讓我使用HTML和不必修改Java代碼,使之成爲一個applet這樣的:當我運行的HTML代碼中,我得到了以下錯誤將我的Java Slick遊戲放到網站上

<applet code="org.lwjgl.util.applet.AppletLoader" 
     archive="org.lwjgl.util.applet.AppletLoader" 
     codebase="." 
     width="640" height="480"> 

    <param name="al_title" value="Ham Blaster"> 
    <param name="al_main" value="org.newdawn.slick.AppletGameContainer"> 
    <param name="game" value="org.javagame.Game"> 

    <param name="al_jars" value="racegame.jar, lwjgl.jar, slick.jar"> 

    <param name="al_windows" value="windows_natives.jar"> 
    <param name="al_linux" value="linux_natives.jar"> 
    <param name="al_mac" value="macosx_natives.jar"> 

    <param name="separate_jvm" value="true"> 
</applet> 

我的屏幕中心:

An error occurred while loading the applet. Please contact support to resolve this issue. missing required applet parameter: al_main. 

我看過裏面的光滑爲ApplerGameContainer,但我只能找到鉻文件,我試圖把這些放在與html文件相同的目錄中,但我仍然得到相同的錯誤。

如果有些事情似乎很簡單,似乎過於明顯地問我,請告訴我,因爲我是新來的Java,我以前與此代碼錯誤是因爲我沒有我在同一目錄中的HTML和lwjgl_util_applet.jar ,所以請告訴我什麼可以幫助我。

+1

小程序代碼需要定義小程序接受的參數。我假設你已經完成了,但請檢查,可能參數名稱拼寫錯誤。另外,如果你的對象實際上並不是一個applet,考慮檢查一下,也許Java Web Start可以爲你做得更好。 – h22

+0

@AudriusMeškauskas關於[Java Web Start]的好主意(http://stackoverflow.com/tags/java-web-start/info)。試圖將一個自由浮動的圖形用戶界面塞入網頁將永遠是有問題的。 –

+0

如果你仍然需要這個線程的幫助,你可以在這個鏈接上訪問一個名爲[Tables](https://gagandeepbali.uk.to/svn/myrepository/tables/)的應用程序,我已經很久很久了。用戶名:guest和密碼:guest,對於鏈接,你可以看到我的項目結構,以及所有的文件和源代碼,儘管一個簡單的項目:-),大多數東西都在bin文件夾中。這是它運行的[鏈接](http://gagandeepbali.uk.to/gaganisonline/swing/tables/tables/bin/tableapplet.html),儘管對於所有工作鏈接,我的計算機必須處於開啓狀態,因爲這裏是服務器。 –

回答

1

電解金屬錳...

我不是很確定,但根據sources的錯誤來自init方法

/* 
    * @see java.applet.Applet#init() 
    */ 
    public void init() { 
     state = STATE_INIT; 

     // sanity check 
     String[] requiredArgs = {"al_main", "al_logo", "al_progressbar", "al_jars"}; 
     for(int i=0; i<requiredArgs.length; i++) { 
      if(getParameter(requiredArgs[i]) == null) { 
       fatalErrorOccured("missing required applet parameter: " + requiredArgs[i], null); 
       return;    
       } 

//...   }  
     } 

如此看來你al_main參數值的方式是或者別的什麼:S

問題可能是這裏的某個地方

<param name="al_main" value="org.newdawn.slick.AppletGameContainer"> 

... 也許因爲我沒有看到你初始化所有的休息需要PARAMS爲"al_logo", "al_progressbar"

不管怎麼說,這會更有助於你展現問題代碼


報告是否有幫助