2013-03-12 72 views
0

當您使用libgdx啓動項目時,它會自動使類擴展Android應用程序。直到後來我纔想到這個,現在我想把它改成Game和Screen類。但不幸的是沒有成功...從AndroidApplication擴展到遊戲

我的第一個問題是,如何更改android項目?

import android.os.Bundle; 
import com.badlogic.gdx.backends.android.AndroidApplication; 
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; 

public class AndroidClass extends AndroidApplication { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); 
     cfg.useGL20 = false; 

     initialize(new SplashScreen(), cfg); 
    } 
} 

我的第二個問題:我如何改變deskop項目:

import com.badlogic.gdx.backends.lwjgl.LwjglApplication; 
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; 

public class DeskopClass { 
    public static void main(String[] args) { 

     LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); 
     cfg.title = "MyApp"; 
     cfg.useGL20 = false; 
     cfg.width = 800; 
     cfg.height = 480; 

     new LwjglApplication(new SplashScreen(), cfg); 
    } 
} 

第三個問題:我如何改變閃屏:

import com.badlogic.gdx.ApplicationListener; 
import com.badlogic.gdx.Gdx; 
import com.badlogic.gdx.graphics.Texture; 
import com.badlogic.gdx.graphics.g2d.SpriteBatch; 

public class SplashScreen implements ApplicationListener{ 

    @Override 
    public void create() { 
     // TODO Auto-generated method stub 

    } 

謝謝!

+1

您可以通過閱讀wiki的「Manual Project Setup」部分獲得幫助:http://code.google.com/p/libgdx/wiki/ProjectSetup甚至可以給「簡單應用程序」部分一次:http ://code.google.com/p/libgdx/wiki/SimpleApp – MCeley 2013-03-12 17:49:27

+0

這裏沒有任何回答我的問題,但感謝您的回答! – Daniel 2013-03-12 17:52:12

回答

3

Game類只是一個ApplicationListenerAndroidApplicationGame是不可互換的類,因爲它們完成了兩件不同的事情。

您需要AndroidApplication類才能將事件傳遞到您的ApplicationListener類。如果你想在你的應用中使用Game類,那麼你總是可以創建自己的。

public class Game implements ApplicationListener { 

    @Override 
    public void dispose() { 

    } 

    @Override 
    public void pause() { 

    } 

    @Override 
    public void resume() { 

    } 

    @Override 
    public void render() { 

    } 

    @Override 
    public void resize (int width, int height) { 

    } 
} 
+0

謝謝你的回答!但是如果我製作我自己的遊戲課程,我該如何使用setScreen()方法? – Daniel 2013-03-12 18:10:50

+1

請參閱我的答案中的遊戲類的鏈接。這是整個班級。我只是在這裏給出一個示例空白實現。 – MCeley 2013-03-12 18:12:37

+0

製作已經制作的課程有什麼意義? – Daniel 2013-03-12 18:14:53

0

libgdx中的遊戲類本身就是一個ApplicationListener。

您可以創建一個擴展Game的類,並直接傳遞它的對象來初始化(對於android)和LwjglApplication(對於桌面)。 這樣你可以使用setScreen沒有問題。