2016-02-27 14 views
5

Staram się dać użytkownikowi opcję, w jaki sposób chce grać. Tryb okna i pełnego ekranu nie stanowi problemu. Rzeczą, której nie wydaje mi się, aby działał, jest pełnoekranowy ekran z pełnym ekranem i pełną ramką. Szukałem w internecie i znalazłem tylko jedno miejsce, które pomogły mi:libgdx borderless fullscreen

http://badlogicgames.com/forum/viewtopic.php?f=11&t=13863

Zrobiłem, jak mi powiedziano i myślę, że to trochę działa, mój problem jest, okna 10 Pasek na dole jest zawsze przód okna. Oto obraz tego, jak to wygląda:

http://imgur.com/hdA3LAb

Kolor jest okropny, ale tylko w celach testowych. Kod wygląda następująco:

if (screenManager.FULLSCREEN) { 
    Gdx.graphics.setDisplayMode(Gdx.graphics.getDesktopDisplayMode().width, Gdx.graphics.getDesktopDisplayMode().height, true); 
} else if (screenManager.WINDOWEDFULLSCREEN) { 
    System.setProperty("org.lwjgl.opengl.Window.undecorated", "true"); 
    Gdx.graphics.setDisplayMode(Gdx.graphics.getDesktopDisplayMode().width, 
    Gdx.graphics.getDesktopDisplayMode().height, false); 
} else { 
    Gdx.graphics.setDisplayMode(screenManager.WIDTH, screenManager.HEIGTH, false); 
} 

Jak mogę to naprawić?

Edytuj: Zaktualizowałem do wersji 1.9.2, która nie ma metody setDisplayMode. Kod wygląda teraz tak:

DisplayMode mode = Gdx.graphics.getDisplayMode(); 
if (screenManager.FULLSCREEN) { 
    Gdx.graphics.setWindowedMode(Gdx.graphics.getDisplayMode().width, Gdx.graphics.getDisplayMode().height); 
    Gdx.graphics.setFullscreenMode(mode); 
} else if (screenManager.WINDOWEDFULLSCREEN) { 
    System.setProperty("org.lwjgl.opengl.Window.undecorated", "true"); 
    Gdx.graphics.setWindowedMode(Gdx.graphics.getDisplayMode().width, Gdx.graphics.getDisplayMode().height); 
    //Gdx.graphics.setFullscreenMode(mode); 
} else { 
    Gdx.graphics.setWindowedMode(screenManager.WIDTH, screenManager.HEIGTH); 
} 

Wszystko działa jak poprzednio, tylko obramowania fullscreen ma paska narzędzi Windows (Rzecz o Botton) na przeciwko niej, tak jak na zdjęciu. Normalny tryb pełnoekranowy działa dobrze.

+0

Czy chcesz usunąć obramowanie aplikacji okienkowej? Jeśli tak, możesz spróbować zapytać "Jak usunąć obramowanie z aplikacji okienkowej". Od tej chwili mylicie wiele osób z bałaganem na waszym pytaniu. Określ, kiedy zadajesz pytania i zostawiają z niego wszystkie nieistotne treści. – Madmenyo

+0

@MennoJeśli kod właściwie już usuwa granicę ... – LePotatoCannon

Odpowiedz

4

tylko przetestowane następujące config na moim komputerze z systemem Windows 10 i to działało:

public class DesktopLauncher { 
    public static void main (String[] arg) { 
     LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); 
     config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width; 
     config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height; 
     config.fullscreen = true; 
     new LwjglApplication(new MyGame(), config); 
    } 
} 

Należy ustawić, że w DesktopLauncher moduł pulpitu

UPDATE
Należy starać:

Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode()); 

Również, jaka wersja Lib GDX używasz? Używam wersji 1.8.0 i nie mam metody Gdx.graphics.setDisplayMode().

+0

Jeśli zrobię to w ten sposób, gra będzie zawsze pełnoekranowa. Ale użytkownik powinien mieć możliwość wyboru z trybu pełnoekranowego, trybu pełnoekranowego i trybu okna ... – LePotatoCannon

+0

@LePotatoCannon zobacz zaktualizowaną odpowiedź – Enigo

+0

Mam 1.6.0, tryb pełnoekranowy działa, mam problemy z pełnoekranowym okienkiem, mam nadzieję, że wiesz co mam znaczyć ... – LePotatoCannon