Хорошо, я понимаю вашу потребность в SSCCE, поэтому я создал (мой первый).
Мне удалось реплицировать проблему до 200 строк кода. В моей системе эта демонстрация скомпилировалась и работала отлично (только мерцание было все еще там, конечно). Я раздели все, что не имеет к этому никакого отношения. Итак, в основном у нас есть два исходных файла: диспетчер экрана и менеджер игр.
Диспетчер экрана: http://pastebin.com/WeKpxEXW
Игровой менеджер: http://pastebin.com/p3C5m8UN
Вы можете скомпилировать этот код с этим make файлом (я использую портированную версию Linux для Windows): CC = javac BASE = nl/jorikoolstra/jLevel CLASS_FILES = classes/$(BASE)/Game/GameMain.class classes/$(BASE)/Graphics/ScreenManager.class
jLevel: $(CLASS_FILES)
@echo Done.
classes/%.class : src/%.java
@echo Compiling src/$*.java to [email protected] [command: $(CC) src/$*.java ] ...
@$(CC) -Xlint:unchecked -d classes -classpath src src/$*.java
Если исходные файлы помещаются в каталог /src
и классы в каталоге /classes
.
После компиляции в байт-код игра может быть запущена с использованием следующего .bat файла:
@set STARUP_CLASS=nl.jorikoolstra.jLevel.Game.GameMain
@set ARGUMENTS=1280 1024 32
@java -cp classes;resources %STARUP_CLASS% %ARGUMENTS%
Обратите внимание, что переменная ARGUMENT
зависит от ваших собственных настроек экрана и что вы должны ее изменить, чтобы игра отображалась в правильном разрешении для вашего экрана.