我相信很多人都有,我已经编写了自己的游戏引擎,并且在我的桌面项目中成功地将它与libgdx一起使用。
现在,是时候让HTML5项目正常运行了。我跟着these directions将我的游戏引擎“第三方库”整合到HTML5项目中。但是,它并不顺利。当我进行GWT编译时,我得到以下内容:
[ERROR] Errors in 'file:/C:/Data/Development/Java/mygame/src/com/me/mygame/MyGameFoo.java'
[ERROR] Line 1329: The method bar(EngineObject) in the type Foo is not applicable for the arguments (GameObjectA)
[ERROR] Line 1333: The method bar(EngineObject) in the type Foo is not applicable for the arguments (GameObjectB)
[ERROR] Line 1340: The method bar(EngineObject) in the type Foo is not applicable for the arguments (GameObjectB)
[ERROR] Errors in 'file:/C:/Data/Development/Java/mygame/src/com/me/mygame/MyGameBar.java'
[ERROR] Line 3: The import com.me.engine cannot be resolved
[ERROR] Line 7: EngineObject cannot be resolved to a type
(and so on...)
GameObjectA和GameObjectB都扩展了EngineObject,显然我对此输出感到很困惑。
Foo是引擎中的一个类,所以底部的两个错误也没有任何意义。 如何在前几个错误中找到com.me.engine.Foo.bar(EngineObject),但在最后两个错误中找不到com.me.engine?(请记住,这个所有工作都在桌面项目中!)
我可以做出的唯一结论是我的项目设置或GwtDefinition.gwt.xml不正确。我很难过我错在哪里 - 任何建议都非常感谢。
GwtDefinition.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
<inherits name='com.badlogic.gdx.controllers' />
<inherits name='com.badlogic.gdx.controllers.controllers-gwt' />
<inherits name='Engine' />
<inherits name='MyGame' />
<entry-point class='com.me.mygame.client.GwtLauncher' />
<set-configuration-property name="gdx.assetpath" value="../mygame-desktop/resources" />
</module>
我认为“继承名称='引擎'”线是我需要的全部?没有它,我得到一堆“没有源代码可用”的错误,所以我知道我做的正确。 (这也证明它正在寻找引擎的来源!)
(使用JRE7)
答案 0 :(得分:1)
将src元素添加到模块gwt.xml
< source path="your-translatable-code-path" />
此处有更多信息 - &gt; DevGuidemodule
还要确保您的模块也与源代码一起打包,以及编译的jar文件,并且这两个模块都可以在类路径中使用。