好的,我理解您需要一个SSCCE,因此我创建了(我的第一个)SSCCE。
我用不到200行代码就成功复制了问题。在我的系统上,这个演示程序编译并运行得很完美(当然只有闪烁问题还在)。我删除了与此无关的一切内容。因此,现在我们基本上有两个源文件:屏幕管理器和游戏管理器。
屏幕管理器: http://pastebin.com/WeKpxEXW
游戏管理器: http://pastebin.com/p3C5m8UN
您可以使用此Makefile编译此代码(我使用了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 $@ [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
变量取决于您自己的屏幕设置,并且您必须更改它,以便游戏以适合您屏幕分辨率的正确分辨率显示。