未解决的 PlayN 编译问题三重播放
我已经在这个项目上工作了几个月,本周我又回到了这个项目,似乎 PlayN 和 Tripleplay 的快照出现了一些问题,因为我知道
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Cannot invoke fillRect(int, int, float, float) on the primitive type void
at tripleplay.ui.Background.createSolidLayer(Background.java:90)
at tripleplay.ui.bgs.SolidBackground.instantiate(SolidBackground.java:26)
at tripleplay.ui.Elements.layout(Elements.java:191)
at tripleplay.ui.Element.validate(Element.java:317)
at tripleplay.ui.Interface.paint(Interface.java:120)
at com.jengibre.h4ck1t.bouncer.Bouncer.paint(Bouncer.java:110)
at playn.java.JavaPlatform$1.paint(JavaPlatform.java:216)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent.paint(JComponent.java:1015)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1780)
at java.awt.Window.paint(Window.java:3375)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
这是我的元项目 pom.xml: http://pastebin.com/raw.php?i=qaMWx72C
这是我的java项目pom.xml: http://pastebin.com/raw.php?i=z3BF45yr
谢谢!
I've been working on this project for a couple of months, I came back to it this week and it seems that with the snapshotting of PlayN and tripleplay something broke, since I get
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Cannot invoke fillRect(int, int, float, float) on the primitive type void
at tripleplay.ui.Background.createSolidLayer(Background.java:90)
at tripleplay.ui.bgs.SolidBackground.instantiate(SolidBackground.java:26)
at tripleplay.ui.Elements.layout(Elements.java:191)
at tripleplay.ui.Element.validate(Element.java:317)
at tripleplay.ui.Interface.paint(Interface.java:120)
at com.jengibre.h4ck1t.bouncer.Bouncer.paint(Bouncer.java:110)
at playn.java.JavaPlatform$1.paint(JavaPlatform.java:216)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent.paint(JComponent.java:1015)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1780)
at java.awt.Window.paint(Window.java:3375)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
this is my metaproject pom.xml: http://pastebin.com/raw.php?i=qaMWx72C
and this is my java project pom.xml: http://pastebin.com/raw.php?i=z3BF45yr
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您正在使用旧版本的 PlayN,它在 Surface/Canvas 上没有流畅的界面。
您可以在您的
core
子模块(在该目录中)中运行:来查看正在使用哪些版本的 PlayN jar 文件来构建您的项目。以下是我的一款游戏的示例:
如果您没有看到 playn-core:jar:1.0.1 或 1.0.2(或者 1.1-SNAPSHOT,如果您正在针对自己的 PlayN 版本进行构建),则说明有问题。您很可能可以通过将 playn-core 依赖项直接添加到您的 core/pom.xml 来解决上述问题。通常,您的顶级
pom.xml
将定义您在项目中使用的 PlayN 版本:然后您的
core/pom.xml
将利用该属性来声明playn-core
依赖项:It looks like you're getting an older version of PlayN that does not have the fluent interfaces on Surface/Canvas.
You can run:
in your
core
submodule (in that directory) to see which versions of PlayN jar files are being used to build your project. Here's an example from one of my games:If you don't see playn-core:jar:1.0.1 or 1.0.2, (or 1.1-SNAPSHOT if you're building against your own PlayN build), then something is amiss. You can most likely remedy said mishap by adding a playn-core dependency directly to your
core/pom.xml
. Usually your top-levelpom.xml
will define the version of PlayN you're using on your project:Then your
core/pom.xml
will make use of that property to declare aplayn-core
dependency: