当我有一个基本的(入门)PlayN项目时,我的BlahGame类方法实现了Game接口,它需要三个方法:init,paint和update.入门类看起来像:
public class BlahGame implements Game { public voID init() { ... } public voID paint(float Alpha) { ... } public voID update(float Alpha) { ... }}
我创建了一个BaseGame类来实现游戏,如下所示:
public class BaseGame implements Game { public voID init() { ... } public voID paint(float Alpha) { ... } public voID update(float Alpha) { ... }}
我的主要游戏类然后成为BaseGame的子类,如下所示:
public class BlahGame extends BaseGame { public voID init() { ... base.init(); ... }}
所有东西都是用Java编译和工作的.但是当我尝试GWT编译我的游戏的HTML版本时,我收到此错误:
com.Google.gwt.dev.jJs.InternalCompilerException: Failed to get JNode at com.Google.gwt.dev.jJs.impl.TypeMap.get(TypeMap.java:140) at com.Google.gwt.dev.jJs.impl.TypeMap.get(TypeMap.java:71) at com.Google.gwt.dev.jJs.impl.BuildTypeMap.getType(BuildTypeMap.java:730)... [ERROR] <no source info>: public class com.deengames.BaseGame extends java.lang.Object implements : playn.core.Game/* methods */public voID <init>() public voID init() [unresolved] public voID paint(float) [unresolved] public voID update(float) [unresolved] public int updaterate()
我不确定我在这里缺少什么.是否需要更新一些GWT类?或者是别的什么?自从Java版本编译以来,我原本期望编译HTML vesrion;类的签名不应该从子类更改.
编辑:我正在使用一个全新的样板PlayN项目.在类中,如果我扩展基类并实现接口,它仍然不能编译;只删除基类扩展工作.
解决方法 这是你的问题:[ERROR] <no source info>: public class com.deengames.BaseGame
您已将代码放在顶级包com.deengames中.我敢打赌,你的GWT模块文件也在同一个包目录中,可能就像com / deengames / MyGame.gwt.xml. GWT模块文件必须为GWT将看到的所有代码指定子包目录.
使用PlayN Maven原型生成项目时,它具有以下结构:
core/src/main/java/com/foozle/core/barzle.javacore/src/main/java/com/foozle/resources/images/bg.pngHTML/src/main/java/com/foozle/barzle.gwt.xmlHTML/src/main/java/com/foozle/HTML/barzleHTML.java
所有游戏代码都在com.foozle.core包中,资源在com.foozle.resources包中.如果查看生成的barzle.gwt.xml文件,您将看到:
<module rename-to='barzle'> <inherits name='playn.PlayN'/> <source path='core'/> <source path='HTML'/> <public path="resources" /> <entry-point class='com.foozle.HTML.barzleHTML'/></module>
两个< source>行显式地将com.foozle.core和com.foozle.HTML子包添加到GWT项目中. GWT将忽略此GWT模块文件中未明确列出的任何内容.由于GWT指定这些包的方式,无法将顶级包添加到GWT项目中.你不能使用:
<source path=""/>
要么:
<source path="."/>
您必须将所有代码放在GWT模块文件中显式枚举的子包中.
总结以上是内存溢出为你收集整理的GWT编译器错误:子类上缺少接口方法(PlayN HTML)全部内容,希望文章能够帮你解决GWT编译器错误:子类上缺少接口方法(PlayN HTML)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)